C# Platforma .NET CZ.2
description
Transcript of C# Platforma .NET CZ.2
C# Platforma .NET CZ.2
Kuba Ostrowski
wcześniej
class Program { static void Main(string[] args) { //cały kod aplikacji here! }
}
agendawstęp do programowaniawhy consola? Przydatne funkcjełańcuchy znaków – System.Stringwłaściwości środowiska pytania
wstęp do programowania
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 „free store”, wolnym zapasie pamięci dla aplikacji nadzorowanym przez GarbageCollector.
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'; }
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)
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; }
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.
zmienne – tworzenie obiektów we free store za pomocą new namespace przestrzen{ public class Ludz { public string imie; public string nazwisko; }}
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(); }
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(); }}
funkcjeclass Program{ static void Main(string[] args) { Ludz osoba1 = new Ludz(); 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 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.
why consola? Przydatne funkcje
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ń
przydatne funkcje System.Console
przydatne funkcje System.Console-Console.WriteLine(string);-Console.Write(string);-Console.Read(string);-Console.ReadLine(string);
System.String
System.StringKlasa przechowująca łańcuch znaków, zawiera różne metody, przeciążenia operatorów które umożliwiają jego edycje.
funkcje System.Stringstring zmienna1 = "Ale";string zmienna2 = "Faza";string zmienna3 = zmienna1 + " " + zmienna3; Console.WriteLine(zmienna3);
char tempChar = zmienna3[5];
funkcje System.String
funkcje System.String
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);
funkcje System.String.Formatmoż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\t a tu od nowej linji plus tabulator";
znaki ucieczki w tekście
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 „\\”
właściwościśrodowiska
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..
System.Environment
TickCount – zwraca czas w cyklach od początku programu.ProcessorCount – zwraca liczbę rdzeni.
literatura
- Platforma .Net 3.5 Andrew Troelsen2008 Apress