C# Platforma .NET CZ.2

36
C# Platforma .NET CZ.2 Kuba Ostrowski

description

C# Platforma .NET CZ.2. Kuba Ostrowski. wcześniej. class Program { static void Main ( string [] args ) { //cały kod aplikacji here ! } }. - PowerPoint PPT Presentation

Transcript of C# Platforma .NET CZ.2

Page 1: C# Platforma .NET  CZ.2

C# Platforma .NET CZ.2

Kuba Ostrowski

Page 2: C# Platforma .NET  CZ.2

wcześniej

Page 3: C# Platforma .NET  CZ.2

class Program { static void Main(string[] args) { //cały kod aplikacji here! }

}

Page 4: C# Platforma .NET  CZ.2

agendawstęp do programowaniawhy consola? Przydatne funkcjełańcuchy znaków – System.Stringwłaściwości środowiska pytania

Page 5: C# Platforma .NET  CZ.2

wstęp do programowania

Page 6: C# Platforma .NET  CZ.2

zmienne – cykl życia

zmienne z ValueType (tzw. zmienne automatyczne) – tworzone na stosie w momencie wejścia do danej funkcji i kasowane po zakończeniu.

Page 7: C# Platforma .NET  CZ.2

zmienne – cykl życia

zmienne z System.Object tzn. uchwyty lub dane dynamiczne – tworzone we „free store”, wolnym zapasie pamięci dla aplikacji nadzorowanym przez GarbageCollector.

Page 8: C# Platforma .NET  CZ.2

zmienne – obczajmy ValueTypestatic void Main(string[] args) { int tempIntCurr = 16; int tempIntMin = int.MinValue; int tempIntMax = int.MaxValue;

double tempDoubleCurr = 2.34; double tempDOubleMin = double.MinValue; double tempDoubleMax = double.MaxValue;

float tempFlatCur = 1.56f; char tempChar = 'z'; }

Page 9: C# Platforma .NET  CZ.2

zmienne – obczajmyNajpopularniejsze zmienne i ich właściwości, metody

int 4 – bajty MinValue, MaxValuefloat 4 – bajty MinValue, MaxValue, NagativeInfinity, PositiveInfinity

NaN,bool IsNegativeInfinity(double zm), bool IsPositiveInfinity(double zm),

double 8 – bajtów MinValue, MaxValue, NagativeInfinity, PositiveInfinity,IsNegativeInfinity, IsPositiveInfinity, NaN,bool IsNegativeInfinity(double zm), bool IsPositiveInfinity(double zm),

char 2 – bajtów MinValue,MaxValue, bool IsDigit(string zm, int index)bool IsLetter(string zm, int index)

Page 10: C# Platforma .NET  CZ.2

protytypy funkcji Main4 Prototypy:static void Main(string[] args);static void Main();static int Main(string[] args);static int Main();static int Main(string[] args) { return 0; }

Page 11: C# Platforma .NET  CZ.2

zmienne – tworzenie obiektów we free store 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.

Page 12: C# Platforma .NET  CZ.2

zmienne – tworzenie obiektów we free store za pomocą new namespace przestrzen{ public class Ludz { public string imie; public string nazwisko; }}

Page 13: C# Platforma .NET  CZ.2

zmienne – tworzenie obiektów we free store za pomocą new static void Main(string[] args) { Ludz osoba1 = new Ludz(); osoba1.imie = "Jacek"; osoba1.nazwisko = "Plackowski";

Console.WriteLine(osoba1.imie); Console.WriteLine(osoba1.nazwisko); Console.ReadKey(); }

Page 14: C# Platforma .NET  CZ.2

funkcjeclass Program{ private static string PodajNazwisko() { Console.Write("Podaj nazwisko: "); return Console.ReadLine(); } private static string PodajImię() { Console.Write("Podaj imię: "); return Console.ReadLine(); } private static void CzekajNaInput() { Console.ReadKey(); }}

Page 15: C# Platforma .NET  CZ.2

funkcjeclass Program{ static void Main(string[] args) { Ludz osoba1 = new Ludz(); osoba1.imie = PodajImię(); osoba1.nazwisko = PodajNazwisko();

CzekajNaInput(); }}

Page 16: C# Platforma .NET  CZ.2

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.

Page 17: C# Platforma .NET  CZ.2

klasa, struktura różnice..public struct Ludz { public string imie; public string nazwisko; }- nie może być tworzona za pomocą new.- nie zawiera null po utworzeniu.- przez metode przesyłamy kopie.

Page 18: C# Platforma .NET  CZ.2

why consola? Przydatne funkcje

Page 19: C# Platforma .NET  CZ.2

why Consola?-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ń

Page 20: C# Platforma .NET  CZ.2

przydatne funkcje System.Console

Page 21: C# Platforma .NET  CZ.2

przydatne funkcje System.Console-Console.WriteLine(string);-Console.Write(string);-Console.Read(string);-Console.ReadLine(string);

Page 22: C# Platforma .NET  CZ.2

System.String

Page 23: C# Platforma .NET  CZ.2

System.StringKlasa przechowująca łańcuch znaków, zawiera różne metody, przeciążenia operatorów które umożliwiają jego edycje.

Page 24: C# Platforma .NET  CZ.2

funkcje System.Stringstring zmienna1 = "Ale";string zmienna2 = "Faza";string zmienna3 = zmienna1 + " " + zmienna3; Console.WriteLine(zmienna3);

char tempChar = zmienna3[5];

Page 25: C# Platforma .NET  CZ.2

funkcje System.String

Page 26: C# Platforma .NET  CZ.2

funkcje System.String

Page 27: C# Platforma .NET  CZ.2

funkcje System.String.Formatint minuty = 15;

int godziny = 2;string tempString = string.Format("godziny: {0} minuty: {1}",godziny,minuty);//{0} oznacza indeks elementu który wstawić!Console.WriteLine(tempString);

Page 28: C# Platforma .NET  CZ.2

funkcje System.String.Formatmożna zmienić domyślne formatowanie

{0:fomatowanie} , na np. {0:d2} lub {0:f3}

Page 29: C# Platforma .NET  CZ.2

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\t a tu od nowej linji plus tabulator";

Page 30: C# Platforma .NET  CZ.2

znaki ucieczki w tekście

Page 31: C# Platforma .NET  CZ.2

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\t a tu od nowej lini plus tabulator";

Jeśli chcemy uzyskać sam lewy ukośnik to piszemy go dwa razy „\\”

Page 32: C# Platforma .NET  CZ.2

właściwościśrodowiska

Page 33: C# Platforma .NET  CZ.2

System.Environmentumożliwia łatwy dostęp do właściwości środowiska. Za jego pomocą możemy znaleźć odpowiedni folder systemowy zobaczyć nazwę usera itp..

Page 34: C# Platforma .NET  CZ.2

System.Environment

TickCount – zwraca czas w cyklach od początku programu.ProcessorCount – zwraca liczbę rdzeni.

Page 35: C# Platforma .NET  CZ.2

literatura

- Platforma .Net 3.5 Andrew Troelsen2008 Apress