You are on page 1of 6

1

NET Framework je
platforma na kojoj
mogu raditi razliite
vrste aplikacija
(Windows aplik., Web
apl., Web servisi...)moe
koristiti bilo koji pr.jez.C++, Visual Basic
Objekat je primerak
(instanca) klase.
Klasa pred. skup
podataka i instruk. koje
se izvode na nekim
podacima. Klasa je skup
pravila koji odreuju
kako e se formirati neki
objekat. Svaka klasa ima
svoje lanove i to su
podaci i kod. Podaci koji
se definiu u klasi
obino se nazivaju polja
(fields).. Metodi su
podprogrami i oni mogu
imati svojstva, dogaaje
i konstruktore. Metodi
se izvravaju nad
poljima koja su
definisana u klasi.
Da bi aplikacija bilo ta
radila potrebno je dodati
bar dve linije koda ispod
glavne
funkcije
(metode) static void
Main(string[] args)
namespace
predstavlja .NET nain
da se kod i njegov
sadraj
jedinstveno
identifikuju. Koristi se
za
kategorizaciju
elemenata
u
.NET
Framework. namespace
je deklarisan za kod
aplikacije koja se u
ovom sluaju naziva
ConsoleApplication1.

using
System;predst.
korienje
System
namespace
(odnosi se na biblioteku
klasa .NET Framework,
iju biblioteku koristi
C#). Za vee projekte
moe
se
kreirati
sopstveni namespaces.
class
Primer{
-definicija klase Primer.
Poetak klase poinje sa
otvorenom
vitiastom
zagradom {, a zavrava
se sa zatvorenom viti.
zagradom }.
static void Main()poinje glavni metod,
gde se izvrava program.
Ovaj metod poinje sa
static, to znai da je
statiki i void - ne vraa
vrednost.
Console.WriteLine("
Jednostavan
C#
program.");
-WriteLine() je funkcija
koji kao rezultat vraa
string koji mu je
prosleen.
Console - podrava
konzolni
I/O.
U
kombinaciji
se
kompajleru govori da je
WriteLine()
lanica
Console klase.
Izrazi u C# se zvravaju
sa taka-zarezom (;).
Console.ReadKey();
- metoda za unos nekog
znaka sa tastature (za
prekid rada programa)
Console.ReadLine();
- metoda za unos stringa
pomou
standardnog
ulaza (tastature)

int.Parse(string1); metoda koja konvertuje


string u celobrojnu
vrednost
Console.WriteLine(p
rvi + " + " + drugi
+ " = " + rezultat);
- znak + se koristi za
spajanje delova koda
(teksta ili promenljivih u
okviru
metode
WriteLine(), pri emu se
pri izvravanju ove
metode
ispisuju
parametri redom kako su
postavljeni.
Pod
navodnicima se ispisuje
tekst.
Komentari se koriste da
bi aplikaciju razumeli
oni koji ne znaju ta taj
program radi. Moe se
odnositi na vie linija
koda ili na jednu liniju.
Zbog toga se koriste
komentari za blokove ili
linijski
komentari.
Komentari
za
blok
instrukcija se piu tako
to poinju sa "/*" nakon
ega
sledi
tekst
komentara, a zavravaju
se
sa"*/".
Ovakvi
komentari se obino piu
u vie redova. Ukoliko
se komenar pie u
jednom redu, on poinje
sa "//" a zavrava se sa
enterom.
Osnovna
njihova namena je da
objasne deo koda koji se
nalazi u toj liniji, pa se
zato nazivaju linijski
komentari. Komentari u
C# su obino obojeni
zeleno.

Tip
bool

Znaenje
Predstavlja
true/false
vrednosti
byte 8-bitni pozitivna
celobr.vredn.
char Znakovne
vrednosti
deci Numeriki tip
mal vredn. za
finansijske
obraune
doub Realne
le
vredn.dvostruke
preciznosti
float Realne
vrednosti
int
Celobrojne
vredn. (32
bitne)
long Celobrojne
vrednosti veeg
opsega (64
bitne)
sbyt 8-bitna
e
celobr.oznaena
(+ i -) vrednost
shor 16-bitna celobr.
t
vrednost
uint Neoznaena
celobr. vrednost
ulon Neoznaena
g
celobr. vrednost
veeg opsega
usho Neoznaena
rt
celobrojna
vrednost manjeg
opsega

Operatori mogu biti:


Rada

2
unarni - izvravaju se
na jednom operandu
(promenljivoj)
binarni - koriste se u
kombinaciji
sa dva
operanda
tenarni - koristi se u
kombinaciji sa tri
operanda (kondicionalni
operator:
uslov ? prvi_izraz:
drugi_izraz;)
Tipovi
konverzije
promenljivih mogu biti:
Implicitna konverzijakonverzija iz tipa I u tip
II je mogua u svim
sluajevima, i pravila
izvoenja konverzije su
jednostavna.
Eksplicitna konverzijakonverzija iz tipa I u tip
II je mogua samo u
odreenim sluajevima
ili
su
pravila
za
konverziju
prilino
komplikovana.
Opcionalni
parametar
args u Main() funkciji
obezbeuje nain za
dobijanje
informacija
izvan aplikacije.
metode ReadLine i Parse
vraaju vrednosti koje se
koriste u programu. Ove
definisane
metode
vraaju samo jednu
vrednost koristei na
kraju
return
promenljiva.
Nizovi
u
C#
predstavljaju
objekte.
Deklaracija niza vri se
na sledei nain:
osnovni tip ime
niza
Osnovni tip moe biti
int, float, string, kao i
enumeracija ili struktura.
Niz
se
mora

inicijalizovati
pre
upotrebe.
Strukture su sloeni
tipovi podataka koji se
sastoji od nekoliko
podataka
obino
razliitog tipa
Enumerisani tipovi su
takvi tipovi podataka
koji imaju odreenu
"orijentaciju", gde se
definie neki niz od n
vrednosti koji redom
uzimaju indekse od 0 do
n-1. Definiu se sa
kljunom rei enum
nakon
koga
sledi
deklaracija
promenljivih. Ukoliko se
eli dodeliti neka druga
vrednost promenljivoj,
eksplicitno se dodeljuje
u okviru definicije tako
to se koristi operator =.
Klasa je korisniki
izveden tip podataka
koji se sastoji od polja
razliitog tipa i metoda.
Klasa definie podatak i
njegovo ponaanje.
Objekat je konkretan
primerak klase. esto se
meaju pojmovi klase i
objekat. Klasa predst. tip
objekta, kao to je npr.
int tip neke celobrojne
promenljive.
Ako se klasa ne
deklarie kao static,
korisnik kod moe
koristiti kreiranjem
objekata ili primeraka
(instanci) koji se odnose
na neku promenljivu.
Ako se klasa deklarie
kao static postoji tada
samo jedna kopija u
memoriji i korisniki
kod mu moe pristupiti

kroz samu klasu, a ne


preko primeraka
klase.Klase se deklariu
koristei kljunu re
class
public koja oznaava da
svako moe kreirati
objekte koristei ovu
klasu (klasa je javna).
Zatim sledi class, i na
kraju ime klase
(Student). U okviru tela
klase se definiu polja,
svojstva, metode i
dogaaji i to su lanovi
klase. Ukoliko ispred
class ne stoji nita, onda
je po definiciji
deklarisana sa internal,
to znai da se samo
moe pristupiti kodu iz
tog projekta u kom je
definisana klasa. Klasa
moe da se deklarie i sa
abstract (moe se
naslediti i imati
abstraktne lanove) ili
sealed (eng. zatvoren- ne
moe se naslediti).
Metod je podprogram
(funkcija) koji
manipulie sa podacima
koji su definisani u klasi
i obezbeuju pristup tim
podacima. To znai da
drugi delovi programa
mogu pozivati metode i
izvravati neki problem.
Metodi se sastoje od
jednog ili vie izraza.
Dobro napisana metoda
izvrava samo jedan
zadatak. Svaki metod
ima ime kojim se poziva
taj metod. Ime metoda
moe biti bilo koje osim
rezervisanih rei, a pri
emu poinje sa slovom,
nema praznina, ni
interpunkcijskih

znakova itd u okviru


imena. Imena
promenljivih od imena
metode se razlikuju, jer
se iza imena metode
nalaze male zagrade npr.
GetVal().Ako ne postoji,
podrazumeva se da je
metoda privatna
(private). U suprotnom
moe biti public (javna)
ili zatiena (protected).
Ako metoda ne vraa
vrednost ispred imena
metode pie se void.
Enkapsulacija je
programski mehanizam
kojim se povezuju kod
programa i podaci sa
kojima se radi. Tako
objekti, kod i podaci
mogu biti privatni ili
javni. Javni podaci su
dostupni svim delovima
programa, dok ako se
definiu kao privatni,
podacima se ne moe
pristupiti iz nekog dela
programa koji se nalazi
izvan definisanog
objekta.
Sutina polimorfizma je
da se objekti, kod ili
operacije ponaaju
razliito u razliitom
kontekstu. U vreme
kompajliranja nemamo
nain da odredimo koji
e konkretni objekti to
biti, ali u vreme
izvravanja za svaki
objekat se pozivaju
metode klase kojoj
pripada, a ne roditeljske
klase koja je deklarisana
u vreme kompajliranja.
Nasleivanje je
postupak kojim se svi
lanovi i atributi jedne
Rada

3
klase prenose na drugu
klasu koja se naziva
izvedenom klasom. Pri:
Definiimo 2 klase:
KAPITALISTA i
RADNIK. Razmotrimo
podatke koji se mogu
pridruiti ovim
entitetima. Npr. klasi
KAPITALISTA prirodno
je pridruiti podatke
kapital i profit (brojni
tipovi podataka) i
metodu profitiranje.
Klasi RADNIK moemo
dodeliti podatke plata i
norma, i metodu
proizvodnja. Atributi i
metode se vezuju za
odreenu osobu koja se
moe identifikovati
adresom. Moemo
definisati i klasu
OSOBA koja sadri
atribut ime i prezime,
adresa i npr. metodu
pisanje. Zakljuujemo
da i klasa
KAPITALISTA i klasa
RADNIK pored ve
pridruenih atributa i
metoda treba da ukljue
atribute i metode
sadrane u klasi
OSOBA.
Ovde je prikazano da
klasa KAPITALISTA i
RADNIK nasleuju
sadraj klase OSOBA;
tako podrazumevaju sve
to i klasa OSOBA sa
dodatkom lanova
specifinih za svaku od
izvedenih klasa.
Potrebno je naglasiti da
postoji razlika izmeu
nasleivanja i
sadravanja. To su
suprotne veze jer sloen
objekat sadri
jednostavan objekat dok

specifian objekat se
izvodi (nasleuje) optiji
objekat.
Koncept nasleivanja je
put ka formiranju
organizovanih familija
klasa koje mogu dalje da
se proiruju. To u
mnogome podsea na
programerske bibl.
funkcija.Ukoliko postoji
nasleivanje, ono se
mora odrediti u definiciji
klase. Osnovna klasa se
dodaje izvedenoj tako
to se iza imena
izvedene klase stave dve
take (:).
Svaki objekat nastane u
jednom trenutku, pa se
izvesno vreme koristi ili
neto radi, i na kraju je
potrebno da se uniti.
Tako da postoje 2
znaajne faze.
U I fazi, objekat se
inicijalizuje koristei
konstruktor. U II fazi
neophodno je unititi
objekat (oslobaanjem
memorije i sl) koristei
destruktor.
Postoje dva tipa
konstruktora:
1.podrazumevani
(default) konstruktor
2.konstruktor
inicijalizacije
Sve definicije klasa
sadre bar jedan
konstruktor bez
argumenata koji se
naziva podrazumevani
konstruktor (default
constructor), koji
predstavlja metod koji
ima isto ime kao ime
klase i nema argumente,
moe se definisati u
okviru klase, ali i ne

mora jer pri kreiranju


klase taj konstruktor
sistemski postoji i
atributi se postavljaju na
nulte vrednosti.
Ukoliko se definie jo
neki konstruktor u klasi
sa argumen.
(konstr.inicijalizacije)
onda se mora def. i
podrazumevani
konstruktor.
U definiciji klase mogu
postojati i druge metode
koje imaju parametre i
koje nisu
podrazumevani
konstruktori.
U C#, konstruktori se
pozivaju koristei
kljunu re new.
Destruktori se koriste
da oslobode prostor koji
je zauzeo objekat.
Kljuna re this se
odnosi na odreeni
primerak klase. Statike
funkcije nemaju this
pokaziva. this se
koristi za pristup
lanovima iz
konstruktora metoda i
pristup instancama.
Takoe se moe koristi
za prosleivanje objekta
metodi koja se nalazi u
drugoj klasi.
ToString metod Svaki
objekat u C# nasleuje
ToString metod koji kao
rezultat vraa sadraj u
obliku stringa nekog
objekta.

override modifikator je
neophodan kod primene
nasleenih metoda,
svojstava, itd ili

virtuelnih metoda. Ne
koristi se kod statikih
metoda.
Svojstva (properties) su
lanovi koji obezbeuju
fleksibilan mehanizam
za itanje, pisanje, ili
izraunavanje vrednosti
privatnih polja i mogu
se koristiti kao da su
javni podaci lanova, ali
su oni zapravo posebne
metode koje se nazivaju
metode za pristup
(accessors).
Na ovaj nain, podaci su
lako dostupni, a postoji
sigurnost i fleksibilnost
metoda.Svojstva
obezbeuju pristup
javnim podacima
lanova, bez rizika koji
dolaze sa nezatienim,
nekontrolisanim, i
nepotvrenim pristupom
podacima objekta. Ovo
se postie pristupanjem
posebnim metodama i
preuzimanje vrednosti iz
osnovnih podataka.
set metod omoguava
lanovima da budu
oznaeni (koristi se pri
unosu podataka), a
get metod za pristup
vraa vrednosti
podataka lanova
(koristi se pri ispisu
podataka).
Primitivni tipovi kao
to su int, float i char
se nazivaju vrednosnim
tipovima. Promenljive
ovog tipa sadre neku
vrednost.
Klase meutim
predstavljaju referentne
tipove podataka.
Promenljiva tipa class ne
sadri vrednost Student,
Rada

4
ve referencu na objekat
tipa Student. To znai da
vrednosni tipovi uvaju
vrednosti, a referentni
tipovi uvaju reference.
Zbog naina uvanja
podataka, vrednosni
tipovi se nazivaju i
direktnim tipovima, a
referentni indirektnim
tipovima podataka. Ako
uzmemo primer neke
celobrojne promenljive
a kojoj se inicijalizuje
vrednost npr. 5, i druge
celobrojne promenljive
b kojoj se dodeljuje
vrednost promenljive a,
onda postoje dva
primerka vrednosti 5.
int a = 5;
int b = a;
Ako s deklariemo kao
primerak klase Student,
posledice su drugaije.
Kada se s deklarie kao
Student, s postaje ime
promenljive koja
referencira na objekat
tipa Student. Ako
deklariemo jo jednu
promenljivu refs tipa
klase Student, ona
postaje ime promenljive
koja moe da referencira
na objekat tipa Student.
Ako se promenljivoj
refs dodeli s, refs e
referencirati na isti
objekat tipa Student na
koji referencira s, tako
da postoji samo jedan
objekat tipa Student, i
dve promenljive refs i s
koje referenciraju na
njega:
Student s = new
Student("Markovic
Ivan", "234/2007",
55, 5);
Student refs = s;

pri emu su "Markovic


Ivan", "234/2007",
95, 5 inicijalne
vrednosti (ime i
prezime, broj indeksa,
broj poena na
prijemnom ispitu, prosek
ocena iz srednje kole)
objekta s tipa klase
Student koje se
automatski dodeljuju i
promenljivoj refs.
Parametri metoda se
deklariu sa:
ref
,out ,params.
Kada se metodu prosledi
arugment, parametar se
inicijalizuje kao kopija
argumenta. To znai da
se nikakva izmena
parametra ne moe da
utie na sam argument.
Na primer:static void
Inkrement(int
parametar)
{
parametar++;
}
static void
Main(gs)
{
int a = 5;
Inkrement(a);
Console.WriteLine(a
);
}
U ovom sluaju vrednost
parametra a pri ispisu je
i dalje 5, bez obzira to
je pozvana metoda za
inkrementiranje. Ovo
vai i za argumente
referentnog tipa (klase,
nizove).
U sluaju kada treba
napisati metod koji
treba da izmeni
argument, koristie se
kljune rei ref i out.Za
prenos po referenci se

koristi kljuna re ref.


Ova kljuna re se
koriste i u definiciji
metoda i na mestu
poziva. Prenos
parametara po referenci
omoguava bone
efekte metoda nad njima
ne pravi se kopija
stvarnog argumenta ve
se izmene vre nad njim.
Izlazni parametri ne
moraju da budu
inicijalizovani pre
prosleivanja metodu.
Ako se izlaznom
parametru ne pridrui
vrednost u metodu,
javlja se greka.
Ako ispred parametra
upotrebimo kljunu re
out, to znai da
parametar postaje alijas
argumenta (referentna
promenljiva je
alternativno ime za
drugu promenljivu).
Kada argument
prosledimo parametru
out, mora i ispred
argumenta da se
upotrebi kljuna re out.
Razlika izmeu
parametra ref i out je to
metod ne mora da dodeli
vrednost ref parametru,
ali out parametru mora
da dodeli vrednost.
Prethodni primer ne
moe proi prevoenje
zato to u metodu
Inkrement nije dodeljena
vredn. za parametar.
re params odreuje
parametar metoda koji
uzima promenljivi br.
argumenata. Tako je
mogue proslediti listu
argumenata
razdvojenih zarezom u
deklaraciji parametara

ili niz argumenata


odreenog tipa.
Takoe, je mogue da
se ne prosledi ni jedan
argument. U
deklaraciji metoda
dozvoljen je samo
jedna kljuna re
params.
Primeri za
nasleivanje i
polimorfizam
virtual i override metodi
Pri definiciji metoda
unutar klasa obino se
ne koriste modifikatori.
Ukoliko se vri
nasleivanje neke klase,
u osnovnoj klasi uz
definisanu metode mora
se koristiti modifikator
virtual ukoliko se ta
metoda pod istim
imenom koristi u
izvednoj klasi.
Izvedena metoda onda
ima pridruen
modifikator override. Na
taj nain se koristi
metoda sa istim
imenom, ali izvrava
razliite operacije nad
atributima u osnovnoj i
izvedenoj klasi. Obe
metode moraju biti istog
tipa.

Vrednosni (primitivni)
tipovi podataka su:
-numerii tipovi
podataka (int, float,
decimal, short...)
-bool
-strukturni tipovi
podataka
Rada

5
-enumerisani tipovi
podataka.
Referentni tipovi
podataka su:
Klase,stringovi,delegati,
object (objekti),
interfejsi.
Vrednosni tipovi uvaju
vrednosti, a referentni
uvaju reference. Zbog
naina uvanja podataka
vrednosni tipovi se
nazivaju direktnim
tipovima, a referentni
indirektnim tipovima.
Npr. ako imamo
celobrojnu promenljivu
p=10, p je ime
celobrojne promenljive
koja uva vrednost 10.
Ako napravimo kopiju
ove promenljive kp koja
uzima inicijalno
vrednost p dobijamo:
int p = 10;
int kp = p;
Na ovaj nain se
dobijaju dva primerka
vrednosti 10, jedna je u
p, a druga u kp. Ako se
npr. k deklarie kao
klasa Kvadrat, posledice
su drugaije. U prvom
sluaju k postaje ime
promenljive koja
referencira na objekat
tipa Kvadrat. Ako se
deklarie refk kao jo
jedna promenljiva tipa
Kvadrat, to postaje ime
promenljive koja
referencira na objekat
tipa Kvadrat. Zatim
emo dodeliti k
promenljivoj refk, pa e
refk referencirati na isti
objekat tipa
Kvadrat na koji
referencira k. U ovom
sluaju postoji samo
jedan objekat tipa

Kvadrat, a dve
promenljive refk i k
referenciraju na njega.
Kvadrat
k=new
Kvadrat(30);
Kvadrat
refk=k;
System.Object-Jedan
od najvanijih
referentnih tipova je
klasa Object prostora
imena System radnog
okruenja Microsoft
.NET:
namespace System
Ovo je znaajna klasa,
pa ak i kljuna re
object u sutini
predstavlja samo jedan
alijas (referentna
promenljiva je
alternativno ime za
drugu promenljivu) za
System.Object. U kodu
programa moe da se
napie object ili
System.Object; znaenje
je identino. Tako,
promenljive koje su tipa
object mogu da
referenciraju na
primerak bilo koje klase.
Na pr.
Pakovanje je proces
konvertovanje
vrednostnog tipa u tip
object ili neki interfejs
tip koji koristi taj
vrednosni tip. Kada
CLR pakuje vrednosni
tip, tada je vred. u
System.Object i
smetena je na heapu.
Promenljive tipa object
mogu da referenciraju na
bilo koju vrednost nekog
tipa. Na pr. ako se
inicijalizuje promenljiva
i (tipa int) sa 123 i zatim

inicijalizuje promenljiva
o (tipa object) sa i:
int i = 123;
// Pakovanje i.
(kopira vrednost i u
objekat o)
object o = i;
Referenca unutar
promenljive o ne
referencira na
promenljivu i. Vrednost
i se nalazi na steku, pa
se zbog toga na heap
memoriji pravi tana
kopija vrednosti iz i, a
referenca unutar o
referencira na tu kopiju.
To automatsko kopiranje
se naziva pakovanjem.
Raspakivanje-Poto
promenljiva tipa object
moe da referencira na
upakovanu kopiju neke
vrednosti, tako se preko
te promenljive moe
dozvoliti pristup
upakovanoj kopiji.
Sledei primer pokazuje
kako se vri
raspakivanje:
int i = 123; // a
vrednosni tip
object o = i; //
pakovanje
int j = (int)o; //
raspakivanje
U C# izuzeci pomau pri
nekim neoekivanim
situacijama koje nastaju
pri radu aplikacija. Pri
obradi izuzetaka koriste
se throw, try, catch i
finally kljune rei pri
radu sa nekim delovima
koda koji se ne mogu
izvriti, ili
pri prihvatanju greki
koje nismo predvideli.
Izuzeci se formiraju
pomou CLR (Common

Language Runtime),
.Net Frameworka ili
koda date
aplikacije.
Try / catch blokovi slue
za obradu greaka u C#u. Try blok sadri
naredbe koje
potencijalno mogu da
sadre greke. Ako doe
do greke, generie se
odgovarajui izuzetak
exception, nakon ega se
programski tok
preusmerava na
odgovarajui catch blok
koji sadri kod za
obradu generisanog
izuzetka. Catch blokovi
se piu odmah iza try
bloka. Moe biti vie
catch blokova koji
hvataju razne vrste
izuzetaka
U veini sluajeva
izuzeci mogu biti
izbaeni ne samo
metodom koji se
direktno poziva u kodu,
vee sa drugim
metodom koji se nalazi
na pozivajuem steku.
Ukoliko postoji try/catch
blok, CLR e preurediti
stek traei catch blok za
odreeni tip izuzetka, i
izvrie prvi takav catch
blok koji pronae. Ako
se ne pronae
odgovarajui catch blok
bilo gde u pozivajuem
steku, proces e se
unitititi i ispisati poruka
korisniku.
Kolekcije su standardne
strukture podataka koje
dopunjuju nizove.
Nizovi su jedina
kolekcija koja je
ugraena u C# jezik. Sve
ostale kolekcije su
Rada

6
ugraene u prostor
imena (namespace)
System.Collections.
Interfejsi koji su
definisani u ovom
namespaceu:Ilist,Icollection,Idictio
nary,IEnumerable,IEnu
merator
IList interfejs
predstavlja kolekciju
koja sadri elemente sa
mogunou pristupa
tim elementima. Sledee
klase se odnose na ovaj
interfejs:System.Array,S
ystem.Collections.Arra
yList,System.Collectio
ns.Specialized.StringC
ollection,System.Collec
tions.Specialized.String
Dictionary
Ovde su navedene klase
koje su izvedene iz
interfejsa
ICollection:System.Coll
ections.Stack
,System.Collections.Qu
eue .
System.Collections.BitA
rray,System.Collections.
Specialized.NameValue
Collection
IDictionary interfejs
predstavlja kolekciju
koja ima par vrednosnih
imena Kolekcije koje
nasleuju IDictionary
interf.su:System.Collect
ions.Hashtable,System.
Collections.SortedList,
System.Collections.Spec
ialized.HybridDictionary
,System.Collections.Spe
cialized.ListDictionary
Klasa ArrayList je
dinamii niz razliitih
vrsta objekata. U niz se
mogu smestiti samo

objekti istog tipa. U


ArrayList se mogu
smestiti objekti tipa int,
float, string, i oni se
predstavljaju kao object
tip. I u ovom sluaju kao
i kod niza se koriste
indeksi da bi se neki
objekat smestio u
kolekciju.
Svojstvo Count daje
ukupan broj elemenata
smetenih u ArrayList
objekat.
Svojstvo Capacity
postavlja sa get ili set
broj elemenat koje
ArrayList objekat moe
da sadri. Objekti se
dodaju sa Add() a
uklanjaju sa Remove()
metodom.
Klasa StringCollection u
svojoj def. koristi
interfejs IList tako da je
slina ArrayList-i
stringova. Sledei
primer demonstrira
primenu klase
StringCollection.
Slino klasi
StringCollection postoji
i klasa StringDictionary
class, koja predstavlja
he tabelu (Hashtable)
koja ima samo kljueve
tipa string. He tabela
moe imati za kljueve
objekte bilo kog tipa.
Sledei primer
predstavlja rad klase
StringDictionary
Klasa Stack obezbeuje
Last-in-First-out (LIFO)
kolekciju elemenata tipa
System.Object.
Poslednji dodati elemet
je uvek na vrhu steka i
prvi koji se sklanja sa
steka. Sledei primer
prikazuje primenu klase

Stack za LIFO operaciju


na elementima kolekcije.
Queue je struktura
podataka red, koja
obezbeuje FIFO FirstIn-First-Out kolekciju
elemenata tipa
System.Object. Novi
element koji se dodaje
na kraju reda (na rep), a
elementi se briu od
poetka reda.

Rada

You might also like