Utisci korisnika

Hvala Vam na podršci i moram Vam priznati da ste jako ljubazni. Milan Đelić, Valjevo

Zaista sam prijatno iznenađena vašom brigom za korisnike, i zahvaljujem vam se na maksimalnoj podršci. Što se tiče vaših usluga sve je jasno, ja se uvijek vraćam i nastaviću…


Kompletna lista utisaka

Testiranje online

Arhitektura računara

Za one koji žele da znaju više.

Windows OS

Ovo bi svakako trebalo da probate.

Odnosi s javnošću

Koliko znate PR?

Pogledajte još neke od testova

Newsletter

Ukoliko želite da Vas redovno obaveštavamo o novostima sa Link eLearning sajta prijavite se na našu newsletter listu.

Ime:

Prezime:

Email:


Anketa

Arhiva anketa

BAZA ZNANJA


Kurs: Core Windows Forms Technologies

Modul: Programiranje u C#

Autor: Marko Stojićević

Naziv jedinice: Klasa System.Object i rad sa stringovima


Materijali vezani uz ovu lekciju:

- Test klasa system.object i rad sa stringovima
- Klasa System.Object i rad sa stringovima (PDF dokument)



Klasa System.Object

Svaki 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.

double a =12.34;
object obj = a; // boxing
double d = (double) obj ; // unboxing

 

Klasa Object ima metodu ToString koja opisuje instancu klase. Dakle, sve klase imaju metodu ToString.

public virtual string 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 stringovima

Tip 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

string s = "123.45";
double d = System.Convert.ToDouble(s);

 

a drugi način je korišćenjem strukture Double i njene metode Parse.

string s = "123.45";
double d = Double.Parse(s);

  

Formatiranje datuma i vremena

Ovde 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:

  • d - kratki format datuma
  • D - dugi format datima
  • t - kratki format vremena
  • T - dugi format vremena
  • f - puni format tj. datum i vreme s tim što je vreme u kratkom formatu
  • F - puni format pri čemu je i datum i vreme u dugom formatu

 

public DateTime
(
     int year,
     int month,
     int day,
     int hour,
     int minute,
     int second,
     int millisecond
);

DateTime dt = new DateTime(2005,7,15,11,20,0,0);
Console.WriteLine(dt.ToString());
DateTime dt1 = DateTime.Now ;
Console.WriteLine(dt1.ToString("dd MM yyyy"));
Console.WriteLine(dt1.ToString("d"));//d,D,t,T,f,F
dt1 = dt1.AddYears(-3);
Console.WriteLine(dt1.ToString("dd MM yyyy"));
Console.ReadLine();



Osobina nepromenljivosti stringova

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.

for(int i=0; i< 10; i++)
{
     s = string.Concat(s, i.ToString());
}

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 StringBuilder

Nalazi 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.


Smatrate da je ova lekcija korisna?  Preporučite je. Broj preporuka:0


Molimo Vas unesite svoje podatke i dobićete pristup besplatnim lekcijama.

Ime: 
Prezime: 
Email: