Obsah
- Úvod
- 1. .NET framework
- 1. Architektura .NET Framework
- 2. CLR – Common Language Runtime
- 2.1. CTS
- 2.2. Typová bezpečnost
- 2.3. Management paměti
- 3. MSIL
- 3.1. JIT Kompilátor
- 4. Assembly
- 5. Bezpečnost .NET Framework
- 2. Základní charakteristika jazyka C#
- 3. Typový systém jazyka
- 1. Hodnotové typy
- 1.1. Primitivní datové typy
- 1.1.1. Celočíselné datové typy
- 1.1.2. Reálné datové typy a typ decimal
- 1.2. Struktury
- 1.3. Výčtové typy
- 2. Referenční typy
- 3. Nullable typy
- 4. Základní prvky jazyka
- 1. Direktivy preprocesoru
- 2. Jmenný prostor (namespace)
- 2.1. Co je to jmenný prostor (namespace)
- 2.2. Užitečné jmenné prostory
- 2.3. Tvorba jmenného prostoru
- 3. Třídy
- 3.1. Metody a parametry
- 3.2. Metoda s proměnným počtem parametrů
- 3.3. Konstanty
- 3.4. Konstruktory a destruktory
- 3.5. Vlastnosti
- 3.5.1. Odlišná přístupová práva pro
get
a set
- 3.6. Indexer
- 3.7. Dědičnost a polymorfismus
- 3.8. Konstruktory v odvozených třídách
- 3.9. Další modifikátory
- 3.10. Statická třída
- 3.11. Cvičení
- 4. Neúplné typy
- 4.1. Rozdělení neúplných typů podle kódu
- 4.1.1. Neúplné typy v příkladech
- 5. Pole
- 5.1. Deklarace pole
- 5.2. Vícerozměrná pole
- 5.3. Vícerozměrná nepravidelná pole
- 5.4. Práce s poli
- 5.4.1. Kopírování polí
- 6. Rozhraní
- 7. Operátory
- 7.1. Operátory is a as
- 7.2. Operátor ??
- 7.3. Operátor
::
- 7.4. Přetěžování operátorů
- 7.5. Uživatelsky definované konverze
- 8. Příkazy
- 8.1. Základní příkazy
- 8.1.1. Blok (složený příkaz)
- 8.1.2. Prázdný příkaz
- 8.1.3. Výrazový příkaz
- 8.1.4. Deklarace lokální proměnné nebo lokální konstanty
- 8.2. Podmíněné příkazy
- 8.2.1. Příkaz if
- 8.2.2. Příkaz switch
- 8.3. Cykly
- 8.3.1. Příkaz while
- 8.3.2. Příkaz do-while
- 8.3.3. Příkaz for
- 8.3.4. Příkaz foreach
- 8.4. Skokové příkazy
- 8.4.1. Příkaz break
- 8.4.2. Příkaz continue
- 8.4.3. Příkaz goto
- 8.4.4. Příkaz return
- 8.4.5. Příkazy checked a unchecked
- 8.4.6. Příkaz throw
- 9. Výjimky
- 9.1. Hlídaný blok (try)
- 9.2. Blok obsluhy (catch)
- 9.3. Koncový blok (finally)
- 9.4. Výjímky definované v .NET
- 10. Delegáti
- 10.1. Anonymní metody
- 10.1.1. Anonymní metody
- 10.1.2. Pravidla určující anonymní metodu
- 10.1.3. Anonymní metody v příkladech
- 10.1.4. Konverze skupinových metod
- 11. Události
- 12. Generické datové typy
- 12.1. Teorie generik
- 12.1.1. Univerzální kód
- 12.1.2. Popis generik
- 12.1.3. Omezení
- 12.1.4. Generika ve srovnání s kolekcemi
- 12.2. Generika v příkladech
- 12.2.1. Proč potřebujeme generika
- 12.2.2. Konstrukce a využití generik
- 12.2.3. Generické typy
- 12.2.4. Generické typy a IL
- 12.2.5. Důvody a ukázky omezení
- 12.2.6. Omezení typovým parametrem
- 12.2.7. Generické metody
- 12.2.8. Generická třída
- 12.2.9. Implicitní hodnoty
- 12.2.10. Výhody generik
- 12.2.11. Negenerické objekty
- 13. Atributy a práce s metadaty
- 14. Spolupráce s existujícím kódem
- 5. Bázové třídy
- 1. Třída
System.Object
- 2. Práce s konzolou
- 2.1. Funkce Write, WriteLine
- 2.1.1. Formátovací znaky
- 2.1.2. Speciální znak @
- 2.2. Funkce Read, ReadLine
- 3. Práce se soubory
- 3.1. Textový soubor
- 3.1.1. Zápis do textového souboru
- 3.1.2. Čtení z textového souboru
- 3.2. Binární soubor
- 3.2.1. Zápis do binárního souboru
- 3.2.2. Čtení z binárního souboru
- 3.3. Serializace
- 4. Práce s řetězci
- 4.1. Třída
System.String
- 4.2. Porovnávání řetězců
- 4.3. Třída
System.Text.StringBuilder
- 4.4. Formátovací řetězce
- 4.5. Regulární výrazy
- 5. Kolekce
- 5.1. Iterování kolekcemi
- 5.1.1. Rozhraní
IEnumerable
a IEnumerator
- 5.1.2. Implementování
IEnumerable
a IEnumerator
- 5.1.3. Rozhraní
IDictionaryEnumerator
- 5.1.4. Iterátor implementovaný pomocí yield
- 5.2. Standardní rozhraní kolekcí
- 5.2.1. Rozhraní
ICollection
- 5.2.2. Rozhraní
IList
- 5.2.3. Rozhraní
IDictionary
- 5.3. Předdefinované třídy kolekcí
- 5.3.1. Třída
Array
- 5.3.2. Třída
ArrayList
- 5.3.3. Třída
Hashtable
- 5.3.4. Třída
Queue
- 5.3.5. Třída
Stack
- 5.3.6. Třída
BitArray
- 5.3.7. Třída
SortedList
- 5.3.8. Třída
StringCollection
- 5.3.9. Třída
StringDictionary
- 5.4. Třídění instancí
- 5.4.1. Rozhraní
IComparable
- 5.4.2. Rozhraní
IComparer
- 5.5. Generování hešovacího kódu
- 6. Reflexe
- 6.1. Hierarchie typů
- 6.2. Typy, členy a vnořené typy
- 6.2.1. Sestavy a moduly
- 6.2.2.
AppDomain
- 6.3. Zjištění typu instance
- 6.4. Přímé zjištění typu
- 6.5. Reflektování hierarchie typů
- 6.6. Pozdní vazba
- 6.7. Vytváření nových typů za běhu
- 7. Vlákna
- 7.1. Jednoduchá vícevláknová aplikace
- 7.2. Synchronizace vláken
- 7.2.1. Příkaz
lock
- 7.2.2. Operace
Pulse
a Wait
- 7.2.3. Atomické operace
- 7.3. Obvyklé typy vláken
- 7.3.1. Třída
Monitor
- 7.3.2. Metody
Enter
a Exit
- 7.3.3. Metoda
PulseAll
- 7.4. Asynchronní delegáti
- 7.4.1. Invoke
- 7.4.2.
BeginInvoke
a EndInvoke
- 6. Práce v síti, webové služby a ASP.NET
- 1. Získání informací o hostu
- 2. Webový klient
- 2.1. Třídy WebRequest a WebResponse
- 2.2. Třída WebClient
- 2.3. Třída TcpClient, TcpListener
- 3. Webové služby
- 3.1. WSDL a SDL
- 3.2. Jednoduchá webová služba
- 3.3. Způsob využití webové služby
- 4. Ukázka ASP.NET
- 4.1. Vytvoření webového formuláře
- 7. ADO.NET
- 1. ADO.NET
- 1.1. Connection - přístup k databázi
- 1.2. Data Adapter
- 1.3. Přístup k datům databáze bez DataAdapteru
- 2. DataSet
- 2.1. Typovaný vs. netypovaný DataSet
- 2.2. DataSet při získání dat z databázového serveru
- 2.3. DataSet při získání dat z XML souboru
- 2.3.1. Vytvoření XML schématu
- 2.3.2. Naplnění prvku DataSet z XML souboru
- 2.4. Práce s daty v prvku DataSet
- 2.4.1. Vybírání (hledání) dat v DataSet
- 2.4.2. Úprava dat v DataSet
- 2.5. Uložení dat z prvku DataSet
- 2.5.1. Uložení na databázový server
- 2.5.2. Uložení do XML souboru
- 3. Opakování
- 3.1. Příklady
- 8. XML
- 1. Stručný úvod do XML
- 1.1. DTD a kontrola struktury dokumentu
- 2. Tvorba XML dokumentu
- 3. Jmenný prostor System.Xml
- 4. Práce s XML souborem
- 4.1. Načítání z XML souboru
- 4.2. Zpracování načtených dat
- 4.2.1. Metody přístupu k datům objektu XmlDocument
- 4.2.2. Generování HTML kódu ze souboru kucharka.xml
- 4.3. Zapsání dat do XML souboru
- 5. XPath
- 5.1. Co je to XPath
- 5.2. Způsob získání dat pomocí XPath
- 6. XSLT
- 6.1. Tvorba XSLT Stylesheets
- 6.1.1. Základy XSLT
- 6.2. Zpracování XSLT v C#
- 9. Bezpečnost a zabezpečení
- 1. Kódování a hashování
- 1.1. Symetrické kódování
- 1.2. Asymetrické kódování
- 1.3. Hashování
- 2. Digitální obálky, podpisy a certifikáty
- 2.1. Digitální obálky (Digital Envelopes)
- 2.2. Digitální podepisování (Digital Signing)
- 2.3. Digitální certifikáty
- 3. Způsoby ochrany prostředků a kódů
- 3.1. Chráněný přístup ke kódům (code access security)
- 3.2. Bezpečnost založená na rolích (Role-based security)
- 10. Komponenty COM a distribuované aplikace
- 1. Objekt COM
- 1.1. GUID
- 1.2. HRESULT hodnoty
- 2. COM v .NET Framework
- 2.1. Generování RCW ve Visual Studiu pro komponentu Adobe Distiller
- 2.2. Použití komponenty Adobe Distiller
- 3. COM vs .NET komponenty
- 3.1. Tvorba .NET komponenty
- 4. .NET Remoting
- 4.1. Architektura .NET Remoting
- 4.2. Objekty .NET Remoting
- 4.3. Tvorba a použití Remote objektů
- 4.3.1. Vytvoření vzdáleného typu (remotable type)
- 4.3.2. Vytvoření naslouchací aplikace
- 4.3.3. Vytvoření aplikace na straně klienta
- 4.3.4. Spuštění aplikace
- 11. Windows Forms
- 1. Jednoduchá aplikace - Pozdrav
- 1.1. Vytvoření aplikace s využitím Windows Forms v .NET Visual Studiu
- 1.2. Vložení ovládacích prvků do formuláře
- 1.3. "Oživení" ovládacích prvků
- 2. MDI (Multiple Document Interface)
- 2.1. Vytvoření rodičovského okna
- 2.2. Práce s potomky rodičovského okna
- 3. Dialogy
- 4. Drag And Drop
- 5. Další prvky
- 5.1. Label, Link Label
- 5.2. Button
- 5.3. TextBox, RichTextBox
- 5.4. MainMenu
- 5.5. CheckBox, RadioButton
- 5.6. GroupBox, Panel
- 5.7. DataGrid
- 5.8. ListBoxy
- 5.9. ProgressBar, StatusBar
- Bibliografie