C# ja .NET Framework/Core -ohjelmointi
C# on tehokkain ja monipuolisin ohjelmointikieli!
Kurssi painottuu C#-kielen ja Framework:n oleellisimpiin piirteisiin joita käytetään kaikessa Framework/Core -kehityksessä riippumatta käyttöliittymästä. C# on edistyksellinen ja jatkuvasti kehittyvä olio-ohjelmointikieli johon on lisätty funktionaalisia piirteitä. Hyvä C#-kielen osaaminen lisää tuottavuutta ja lyhentää koodin määrää huomattavasti.
Rinnakkaisuus, XML, tietokantakäsittely, Web-sovellukset ja WPF käsitellään katsauksenomaisesti koska tiiviillä kurssilla ei ole aikaa käsitellä kaikkea ja esimerkiksi Web-ohjelmointiin löytyy mm. ASP.NET (Core) MVC -kurssi (20486) -kurssi.
C# tulee olemaan jatkossakin pääkieli Microsoft-kehityksessä. Tällä hetkellä on kaksi eri kirjastoa eli Framework ja Core joista löytyy mm. tietokanta- ja käyttöliittymäosuudet ja muut sovelluksien tarvitsemat palvelut. Nämä yhdistyy yhdeksi kirjastoksi (.NET).Uusin versio .NET Core 3 sisältää myös desktop-palvelut joten Windows Forms ja WPF-sovelluksetkin voidaan tehdä uusimmalla versiolla.
Kurssi edellyttää ohjelmointiosaamista Windows ympäristössä jollain välineellä.
Kurssilta saa hyvän pohjan valmistautua suorittamaan testi 70-483 Programming in C# (testi ei kuulu kurssiin).
.NET-arkkitehtuuri
- arkkitehtuurin tavoitteet ja rakenne
- kielet ja välineet
- Common Language Runtime, Intermediate Language, JIT
- sovelluksen toiminta suorituksen aikana
- .NET Framework
- .NET Core
- tulevat versiot: .NET 5
Visual Studio
- projektien rakenne
- editorin tehokas käyttö
- laajennokset (Extensions)
- referoinnit ja NuGet-paketit
- debuggaus
C# -olio-ohjelmointi
- C#:n perussyntaksi
- sovelluksen rakenne
- muuttujat ja kontrollirakenteet
- metodit ja parametrivälitys
- luokka
- ominaisuudet
- periytyminen
- extension -metodit
- generics-luokkien käyttö
- value-tyypit, struct ja enum
- nullable-tyypit
- rajapinnat: toteuttaminen ja käyttäminen
- delegaatit
- Lambda-lausekkeet
- attribuutit: käyttö, toiminta ja omien attribuuttien tekeminen
Poikkeuskäsittely
- poikkeuskäsittelyn toiminta, try/catch
- poikkeusluokat ja omien poikkeuksien tekeminen
- finally
- resurssien vapautus, IDisposable
.NET Framework Base Class Library (BCL)
- Framework:in BCL-nimiavaruudet
- konfigurointi
- lokalisointi, resurssitiedostot
- tiedostojen käsittely, luku ja kirjoitus
- loki ja debuggaus
LINQ
- LINQ-syntaksi
- LINQ:n käyttö
- Lambda- ja extension -notaatiot
Komponenttiohjelmointi (DLL-kirjastot)
- DLL-tiedostot (Class Libraries)
- versiointi
- Strong Name
- Global Assembly Cache
- Core:n ja Framework:n yhteiskäyttö: .NET Standard -kirjasto
Muut keskeiset tekniikat
Katsaukset eri tekniikoihin
- Rinnakkaisuus, erityisesti async/await ja Task
- XML-tekniikat, katsaus eri tapoihin lukea ja kirjoittaa XML-tiedostoja
- WPF (XAML)
- ADO.NET ja Entity Framework
- ASP.NET MVC
Avainsanat: ASP.NET MVC, C#, Core, Entity Framework EF, Framework, Ohjelmointi, Olio-ohjelmointi, XML