Kurs: Core Windows Forms Technologies Materijali vezani uz ovu lekciju: - Test klasa system.object i rad sa stringovima - Klasa System.Object i rad sa stringovima (PDF dokument) Klasa System.ObjectSvaki objekat u C# je izveden iz bazne klase System.Object. Ova klasa se označava sa object, tj. object je nadimak za ovu klasu. Tipu object se može dodeliti promenljiva bilo kog tipa. Ta operacija se naziva boxing. Iz tako kreirane promenljive tipa object može se kastovanjem izdvojiti prvobitni tip u operaciji koja se naziva unboxing. Obe operacije boxing i unboxing su predstavljene u nastavku.
Klasa Object ima metodu ToString koja opisuje instancu klase. Dakle, sve klase imaju metodu ToString.
Metode klase System.Object Metoda GetHashCode vraća ceo broj koji je hash kod objekta. Ova metoda uvek vraća istu vrednost za datu instancu klase object. Metoda Equals vraća vrednost true ako su dva objekta identična, u protivnom vraća false. Metoda GetType vraća tip instance objekta, odnosno specificira kojoj klasi pripada objekat. Rad sa stringovimaTip podataka string je nadimak za klasu System.String. Operator + koristi se za nadovezivanje tj. konkatenaciju stringova. String se može shvatiti kao niz elemenata tipa char. Metoda Substring iz datog stringa izdvaja podstring određene dužine počevši od neke pozicije. Property Length daje broj karaktera nekog stringa. Metoda Trim skida blanko karaktere sa početka i kraja stringa.
Metode klase String Metoda ToCharArray kopira karaktere u stringu u niz unicode karaktera. Metoda ToUpper vraća kopiju stringa pri čemu su svi karakteri prikazani velikim slovom. Metoda ToLower vraća kopiju stringa pri čemu su svi karakteri prikazani malim slovom. Metoda Compare služi za upoređivanje stringova.
Još neke metode klase String Metoda public int IndexOf(char) vraća indeks prvog pojavljivanja znaka koji je ulazni parametar metode. Metoda public int IndexOf(string) vraća indeks početka prvog pojavljivanja podstringa u okviru stringa. Analogno se definišu metode LastIndexOf sa ulaznim parametrom tipa char ili tipa string, stim što se ovde određuje indeks poslednjeg pojavljivanja znaka u stringu odnosno podstringa u stringu. Ukoliko se želi da kompajler sve znakove u stringu tretira kao karaktere bez obzira na prisustvo escape karaktera koristi se verbatim znak @. Klasa System.Convert se koristi za konvertovanje jednog tipa podataka u neki drugi tip podataka, veoma često za konvertovanje stringa koji predstavlja broj u odgovarajuću brojnu vrednost.
Konvertovanje stringa u prost tip U nastavku su prikazana dva načina za konvertovanje stringa koji predstavlja broj u odgovarajuću brojnu vrednost. Prvi način predstavljen je korišćenjem funkcije System.Convert.ToDouble
a drugi način je korišćenjem strukture Double i njene metode Parse.
Formatiranje datuma i vremenaOvde je prikazana struktura DateTime koja se koristi za rad sa datumom i vremenom. Konstruktor ima 6 argumenata a značenje pojedinih argumenata je intuitivno. Property Now prikazuje datum i vreme sa korisnikovog računara. Prikazivanje datuma i/ili vremena u željenom formatu vrši se korišćenjem metode ToString. Metodi ToString se pod znacima navoda može specificirati u kom formatu da prikaže datum npr. "dd MM yyyy". Drugi način je korišćenje specifikatora formata sa sledećim značenjem:
Stringovi imaju osobinu nepromenljivosti, nakon što se string sačuva u memoriji ta memorijska lokacija se ne može promeniti. U primeru je prikazana petlja koja u svakom ciklusu petlje nadovezuje jedan karakter na prethodni string.
Zbog osobine nepromenljivosti oba stringa i stari i novi ostaju u memoriji. Stara verzija stringa će biti obrisana u procesu odnošenja smeća garbage collection. To je proces kojim se uništavaju nepotrebni objekti iz memorije, i to je razlog zašto se u C# veoma retko koriste destruktori karakteristični za programski jezik C++. U petlji kreiranoj na slajdu se kreira veliki broj stringova u kratkom vremenskom periodu. Rešenje ovog problema je korišćenje dinamičkih stringova i upotreba klase StringBuilder. Klasa StringBuilderNalazi se u prostoru imena System.Text. String bilder alocira inicijalnu vrednost od 16 karaktera i kako string postaje veći alocirana memorija se proširuje da bi se prilagodila dužini stringa. Klasa StringBuilder ima metodu Append kojom se na postojeći string nadovezuje novi string. Takođe tu su metode Insert i Remove koje služe za ubacivanje odnosno brisanje karaktera na tačno određenoj poziciji.
|