360 likes | 470 Views
C# Platforma .NET CZ.2. Kuba Ostrowski. wcześniej. class Program { static void Main ( string [] args ) { //cały kod aplikacji here ! } }.
E N D
C# Platforma .NET CZ.2 Kuba Ostrowski
class Program { staticvoidMain(string[] args) { //cały kod aplikacji here! } }
agendawstęp do programowaniawhyconsola? Przydatne funkcjełańcuchy znaków – System.Stringwłaściwości środowiska pytania
zmienne – cykl życia zmienne z ValueType (tzw. zmienne automatyczne) – tworzone na stosie w momencie wejścia do danej funkcji i kasowane po zakończeniu.
zmienne – cykl życia zmienne z System.Object tzn. uchwyty lub dane dynamiczne – tworzone we „freestore”, wolnym zapasie pamięci dla aplikacji nadzorowanym przez GarbageCollector.
zmienne – obczajmyValueType staticvoidMain(string[] args) { inttempIntCurr = 16; inttempIntMin = int.MinValue; inttempIntMax = int.MaxValue; double tempDoubleCurr = 2.34; double tempDOubleMin = double.MinValue; double tempDoubleMax = double.MaxValue; floattempFlatCur = 1.56f; char tempChar = 'z'; }
zmienne – obczajmy Najpopularniejsze zmienne i ich właściwości, metody int 4 – bajty MinValue, MaxValue float 4 – bajty MinValue, MaxValue, NagativeInfinity, PositiveInfinity NaN, boolIsNegativeInfinity(double zm), boolIsPositiveInfinity(double zm), double 8 – bajtów MinValue, MaxValue, NagativeInfinity, PositiveInfinity, IsNegativeInfinity, IsPositiveInfinity, NaN, boolIsNegativeInfinity(double zm), boolIsPositiveInfinity(double zm), char 2 – bajtów MinValue,MaxValue, boolIsDigit(stringzm, intindex) boolIsLetter(stringzm, intindex)
protytypy funkcji Main 4 Prototypy: staticvoidMain(string[] args); staticvoidMain(); staticintMain(string[] args); staticintMain(); staticintMain(string[] args) { return 0; }
zmienne – tworzenie obiektów we freestore za pomocą new tworzymy obiekt za pomocą „schematu” nazywanego klasą, nowo utworzony obiekt ma przypisany adres zero czyli null. Za pomocą wyrażenia „new” musimy go stworzyć, zarezerwować kawałek miejsca. Nadzorowaniem cyklu jego życia zajmuje się w środowisku, tzw. GarbageCollector.
zmienne – tworzenie obiektów we freestore za pomocą new namespaceprzestrzen { public classLudz { public stringimie; public string nazwisko; } }
zmienne – tworzenie obiektów we freestore za pomocą new staticvoidMain(string[] args) { Ludz osoba1 = newLudz(); osoba1.imie = "Jacek"; osoba1.nazwisko = "Plackowski"; Console.WriteLine(osoba1.imie); Console.WriteLine(osoba1.nazwisko); Console.ReadKey(); }
funkcje class Program { privatestaticstringPodajNazwisko() { Console.Write("Podaj nazwisko: "); return Console.ReadLine(); } privatestaticstringPodajImię() { Console.Write("Podaj imię: "); return Console.ReadLine(); } privatestaticvoidCzekajNaInput() { Console.ReadKey(); } }
funkcje class Program { staticvoidMain(string[] args) { Ludz osoba1 = newLudz(); osoba1.imie = PodajImię(); osoba1.nazwisko = PodajNazwisko(); CzekajNaInput(); } }
klasa, struktura różnice.. Struktura – „klasa wagi lekkiej”, może zawierać metody, zmienne, implementować interfejsy, nie może dziedziczyć. Gdy wysyłamy ją jako argument w funkcji pracujemy w rzeczywistości na jej kopii.
klasa, struktura różnice.. • public structLudz • { • public stringimie; • public string nazwisko; • } • nie może być tworzona za pomocą new. • nie zawiera null po utworzeniu. • przez metode przesyłamy kopie.
whyConsola? • czysty program bez nakładki graficznej. • gui – tworzone z myślą o użytkowniku końcowym, aplikacje komercyjne. • programy przeznaczone do nadzorowania, aktualizowania, serwery. • nie musimy dbać o większości zdarzeń
przydatne funkcje System.Console • Console.WriteLine(string); • Console.Write(string); • Console.Read(string); • Console.ReadLine(string);
System.String Klasa przechowująca łańcuch znaków, zawiera różne metody, przeciążenia operatorów które umożliwiają jego edycje.
funkcje System.String string zmienna1 = "Ale"; string zmienna2 = "Faza"; string zmienna3 = zmienna1 + " " + zmienna3; Console.WriteLine(zmienna3); char tempChar = zmienna3[5];
funkcje System.String.Format int minuty = 15; int godziny = 2; stringtempString = string.Format("godziny: {0} minuty: {1}",godziny,minuty); //{0} oznacza indeks elementu który wstawić! Console.WriteLine(tempString);
funkcje System.String.Format można zmienić domyślne formatowanie {0:fomatowanie} , na np. {0:d2} lub {0:f3}
znaki ucieczki w tekście pozwalają na łatwe formatowanie tekstu, np. przejście do nowej lini, lub znak tabulacji w string’u. Poprzez wstawienie „\znak” string tekst = "to jest tekst \n\ta tu od nowej linjiplus tabulator";
znaki ucieczki w tekście jeśli nie chcemy znaków ucieczki w tekście to przed klamerką piszemy @. string tekst = @"to jest tekst \n\ta tu od nowej lini plus tabulator"; Jeśli chcemy uzyskać sam lewy ukośnik to piszemy go dwa razy „\\”
System.Environment umożliwia łatwy dostęp do właściwości środowiska. Za jego pomocą możemy znaleźć odpowiedni folder systemowy zobaczyć nazwę usera itp..
System.Environment TickCount – zwraca czas w cyklach od początku programu. ProcessorCount – zwraca liczbę rdzeni.