Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk
Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego w czasie wykonania (JIT Just-In-Time compiler)
CLR Common Language Runtime Wspólne dla wielu języków Kompilacja i wykonanie kodu zarządzanego Zarządzanie pamięcią (Garbage Collector) Dynamiczna kontrola typów Bezpieczeństwo
.NET Framework CLR Core libaries Applied libraries Windows Forms WPF WCF ASP.NET... i wiele innych
Uruchamianie programu kod źródłowy w języku C# Zestaw (assembly) plik.exe lub.dll kompilator języka C# kod zarządzany w języku pośrednim w czasie rzeczywistym kompilator JIT kod maszynowy
using System; Pierwszy program class Hello static void Main ( ) Console.WriteLine ("Hello"); int wynik; wynik = 2 * 2; Console.WriteLine (wynik);
Instrukcje if ( ( a > 0 ) && ( b > 0 ) ) Console.WriteLine ("a i b są dodatnie"); else Console.WriteLine ("... nie są... ");
Instrukcje if ( a == 1 ) Console.WriteLine ("jeden"); else if ( a == 2 ) Console.WriteLine ("dwa"); else if ( a == 3 ) Console.WriteLine ("trzy"); else Console.WriteLine ("inna wartość");
switch ( a ) case 1: Instrukcje Console.WriteLine ("jeden"); break; case 2: Console.WriteLine ("dwa"); break; default: Console.WriteLine ("inna wartość"); break;
Instrukcje for ( int i = 0 ; i < 5 ; i++) Console.WriteLine ( "# # # # # "); Console.WriteLine ( " # # # # #");
Instrukcje for ( int i = 0 ; i < 5 ; i++) for ( int j = 0 ; j < 5; j++ ) Console.Write ("# "); Console.WriteLine ( ); for ( int j = 0 ; j < 5; j++ ) Console.Write ( " #"); Console.WriteLine ( );
Instrukcje string [ ] napisy; napisy = new string [ ] "Ala", "Ela", "Ola"; foreach ( string n in napisy) Console.WriteLine ( n );
Instrukcje string tekst = Console.ReadLine ( ); int liczba = int.parse ( tekst ); while ( liczba <= 0 ) Console.Write ("Liczba musi być > 0 "); tekst = Console.ReadLine ( ); liczba = int.parse ( tekst );
Instrukcje string tekst; int liczba; do Console.Write ("Podaj liczbę > 0 : "); tekst = Console.ReadLine ( ); liczba = int.parse ( tekst ); while ( liczba <= 0 );
Instrukcje for ( int i = 0 ; i < 1000 ; i++ ) if ( i > 9 ) break; Console.WriteLine ("Ta pętla"); Console.WriteLine ("wykona się"); Console.WriteLine ("tylko 10 razy");
Instrukcje for ( int i = 0 ; i < 10 ; i++ ) Console.WriteLine ("To się wyświetli"); continue; Console.WriteLine ("... a to nie");
Typy całkowite ze znakiem sbyte short int long bez znaku byte ushort uint ulong (1 bajt) (2 bajty) (4 bajty) (8 bajtów) (1 bajt) (2 bajty) (4 bajty) (8 bajtów)
Pozostałe typy wbudowane typy rzeczywiste float (4 bajt) double (8 bajtów) decimal (16 bajtów) inne char (2 bajty) string (? bajtów) bool (2 bajty)
Deklaracje zmiennych int a; int b = 10; float c, d, e, f; string imie1 = "Ala", imie2 = "Ola";
Identyfikatory Wielkość liter ma znaczenie Litera lub znak podkreślenia na początku bez spacji Można używać polskich liter (litery Unicode)
Literały int a = 5 + 0x1A; float x = 1.5f + 2.1E-1f; double y = 1.5 + 2.1E-1; long b = 5L; uint c = 5U; ulong d = 5UL;
char z1 = 'a'; char z2 = '\\'; char z3 = '\t'; Literały c.d. char copyright = '\u00a9'; string n = "Ala ma kota\r\n"; string sciezka1 = "c:\\folder\\plik.txt"; string sciezka2 = @"c:\folder\plik.txt"; string cytat1 = "cytat: \"Ala ma kota\""; string cytat2 = @"cytat: ""Ala ma kota""";
Komentarze int a; // To jest komentarz int /* To też jest komentarz */ b; int c; /* Taki komentarz może mieć wiele linii */
Operatory arytmetyczne: +, -, *, /, % porównania: >, <, >=, <=, ==,!= logiczne: &&,,! bitowe: ~, &,, ^, <<, >> inne: =, ++, - -, +=, *=, itd.
Tablice string [ ] napisy; napisy = new string [ ] "Ala", "Ela", "Ola"; int [ ] liczby = new int [ ] 1, 2, 5, -1; float [ ] liczby2 = new float [100]; for ( int i = 0 ; i < liczby2.length ; i++) liczby2[ i ] = 0.5f; // indeksy od zera
Tablice c.d. for ( int i = 0 ; i < liczby2.length ; i++) Console.WriteLine (liczby2[ i ]); foreach ( float x in liczby2 ) Console.WriteLine ( x );
Tablice c.d. int [, ] tab2 = new int [ 3, 4 ]; tab2 [ 2, 3 ] = 100; int [ ] [ ] tab22 = new int [ 3 ] [ ]; tab22 [ 0 ] = new int [ 4 ]; tab22 [ 1 ] = new int [ 4 ]; tab22 [ 2 ] = new int [ 5 ]; tab22 [ 2 ] [ 3 ] = 100;
Metody static void WyswietlNapis ( ) Console.WriteLine ("Ala ma kota"); static void Main ( ) WyswietlNapis ( ); WyswietlNapis ( );
Metody static float PoleProstokata ( float a, float b ) float pole; pole = a * b; return pole;
Metody c.d. static void Main ( ) float x, y, pole; x = float.parse(console.readline( )); y = float.parse(console.readline( )); pole = PoleProstokata ( x, y ); Console.WriteLine("Pole = " + pole);
Metody c.d. static long Silnia ( int n ) long silnia = 1; for ( int i = 2; i <= n; i++ ) silnia = silnia * i; return silnia;