Programovací jazyk C#

Marek Běhálek


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