Använd vänsterpil och högerpil för att navigera
Eller Ctrl+P för att skriva ut till PDF (eller på papper)
Projekt i C# och Visual Studio
Hur man organiserar större program
Terminologi
- Namespace
- En samling relaterade klasser
- Project
- Ett enskilt program
- Executable, assembly
- Solution
- En samling relaterade projekt
- Alltså flera program
- Till projektarbetet behövs bara en namespace, ett project och en solution
Flera filer
- Ett helt program i en enda fil blir svårt att hålla reda på
- Olika sätt att dela upp:
- Utifrån GUI:t
- Varje del av fönstret i en egen fil
- Utifrån problemdomänen
- Varje koncept i en egen fil
- Exempelvis: produkthantering, betalning, kvitto
- Utifrån klasser
- Varje klass i en egen fil
- Ej obligatoriskt i C#
- Bestäm själva vad som ger bäst balans
Dela på data
- Argument
- Antingen primitiva eller komposita
- Måste uttryckligen delas
- Klassvariabler (static)
- Kan kommas åt var och när som helst
- Filer
- Kan läsas och skrivas till var och när som helst
Dela på beräkningar
- Klassmetoder (static)
- Data skickas som argument
- Instansmetoder
- Data finns dels i objektet och dels i argument
- Anonyma funktioner
Diverse
Valfri funktionalitet som vi inte har gått igenom tidigare
var: implicit datatyp
- int x = 123;
- var y = 123;
- Dictionary<string, Person[]> dict = new Dictionary<string, Person[]>();
- var dict = new Dictionary<string, Person[]>();
enum: fördefinierad uppsättning värden
- public void ScheduleEvent(string day) {
- // Vad händer om argumentet är "hello"?
- }
- enum WeekDay {
- Monday,
- Tuesday,
- Wednesday,
- Thursday,
- Friday,
- Saturday,
- Sunday
- };
- public void ScheduleEvent(WeekDay day) {
- // Nu är det inte möjligt att anropa metoden fel
- }
LINQ
- Language-Integrated Query
- Koncist sätt att söka, filtrera, gruppera, etc.