Tipovi podataka u C# Flashcards
Navesti klasifikaciju podataka u C#
Postoje vrednosni(strukture, nabrajanja i jednostavni) i ukazani(klase, interfejsi, delegati i nizovi) podaci
Koje su osnovne razlike izmedju vrednosnih i ukazanih tipova i most izmedju njih?
Most predstavlja mehanizam pakovanja i raspakivanja, a razlike su:
1. Sadrzaj promenjive(vrednost/referenca)
2. Alokacija memorije(stek/hip)
3.Dealokacija memorije(nakon izlaska iz oblasti vazenja/ sakupljac djubreta)
Pakovanje
Pakovanje je mehanizam kojim se od vrednosnog podatka pravi ukazani objekat, pravi se primerak objekta na hipu u koji se kopira vrednost podatka
Strukture se mogu konvertovati u tipove interfejsa koje implementiraju
Pakovanje se vrsi implicitno:
1. Pri incijalizaciji ili dodeli vrednosti
2. Pri pozivu metoda strukture
3. Pri prosledjivanju vredonsog argumenta gde se ocekuje vrednost strukture
Raspakivanje
Obrnut proces od pakovanja, od objekta koji sadrzi prethodno spakovanu vrednost se pravi podatak vrednosnog tipa, nije moguce raspakivanje bilo kod objekta i neophodna je eksplicitna konverzija
Izvrsni sistem proverava tip konverzije, mora da odgovara spakovanom tipu inace InvalidCastEx
Nabroj vrste promenljivih koje postoje u C#
Strogo tipiziran jezik= svaka promenljiva mora da ima svoj tip
1. Staticka polja
2. Nestaticka polja
3. Element niza
4. Lokalna promenljiva
5. Parametar(izlazni, po v, po r)
Podrazumevano se parametri prenose po vrednosti, a objekti klasa ili delegati po referenci
Za nepromenljiva polja modifikator readonly
Parametri ref i out
Za prenos po referenci se koristi ključna reč ref, a za izlazni out Ove ključne reči se koriste i u definic