c type casting explicit implicit data conversion with example
Lijevanje tipova podataka u C # s primjerima: Ovaj vodič objašnjava eksplicitnu i implicitnu pretvorbu, pretvori u niz i pretvorbu tipova podataka pomoću klasa pomoćnika:
Tipovi podataka i varijable u C # su detaljno objašnjeni u našem prethodnom vodiču.
Doznali smo kako se jedan tip podataka može pretvoriti u drugi tip podataka pomoću lijevanja tipova. Tipografsko dijeljenje podijeljeno je u dva dijela, tj. Implicitna i eksplicitna pretvorba.
U ovom vodiču istražimo dublje u lijevanju tipa C #.
=> Ovdje potražite Jednostavni vodič za obuku za C #
koji je najbolji besplatni mp3 downloader za android
Podrazumijeva se pretvorba kada se manji tip podataka pretvori u veći tip podataka ili izvedena klasa u osnovnu klasu.
S druge strane, pretvorba u suprotnom smjeru poznata je kao eksplicitna pretvorba. Potreban mu je operater cast da pretvori viši tip podataka u manji tip podataka. Ova vrsta pretvorbe nije sigurna za tip i može rezultirati gubitkom podataka.
Što ćete naučiti:
Lijevanje tipa podataka u C #
U ovom uputstvu detaljno ćemo razmotriti kako se jedna vrsta podataka može pretvoriti u drugu vrstu podataka. C # je statički tip tijekom kompilacije, što znači da se nakon deklaracije varijable ne može koristiti za pohranu vrijednosti bilo koje druge vrste podataka.
Međutim, to se može prevladati pretvaranjem tog tipa u varijabilni tip.
Pokušajmo pretvoriti vrijednost niza u cijeli broj.
int a; a = 'some random string';
Ako ovo kompajliramo, pojavit će se pogreška koja kaže: 'Ne može se implicitno pretvoriti tip' string 'u' int '.'
Vrste podataka mogu se dalje dijeliti na temelju tipova podataka.
- Primitivno
- Neprimitivno
Primitivni tipovi podataka su unaprijed definirani, dok su neprimitivni tipovi podataka korisnički definirani. Vrste podataka poput byte, int, short, float, long, char, bool itd. Nazivaju se primitivnim vrstama podataka. Neprimitivni tipovi podataka uključuju klasu, nabrajanje, niz, delegat itd.
U ovom uputstvu proučit ćemo različite metode koje nudi C # za slanje tipova.
Implicitna konverzija
Implicitna pretvorba je najjednostavnija vrsta pretvorbe. Ova vrsta pretvorbe je sigurna za tip i tijekom pretvorbe se ne događa gubitak podataka. Te se pretvorbe bave pretvaranjem izvedene klase u osnovnu klasu.
Na primjer, možemo izravno koristiti implicitnu pretvorbu ako vrijednost koju treba pohraniti u drugu varijablu može stati izravno bez gubitka podataka. Recimo da imamo vrijednost 'cijelog broja' i želimo tu vrijednost prenijeti na 'long'.
softverski inženjer u pitanjima testnog intervjua
int i = 75; long j = i;
Eksplicitna konverzija
U implicitnoj pretvorbi vidjeli smo da izvedenu klasu možemo izravno pretvoriti u osnovnu klasu bez gubitka podataka, ali u slučaju da postoji mogućnost gubitka podataka, kompajler će zahtijevati izvođenje eksplicitne pretvorbe.
Eksplicitna pretvorba ili emitiranje postupak je prosljeđivanja podataka kompajleru koji program pokušava izvršiti pretvorbu znajući o mogućem gubitku podataka.
Na primjer, ako veću numeričku vrijednost pretvaramo u nižu.
double d = 75.25; int i; i = (int)d;
Ako ispišete 'i', vidjet ćete da će ispisati '75'. Svi podaci nakon decimalnog broja izgubit će se u pretvorbi.
Pretvorba pomoću različitih klasa pomoćnika
Da bismo pretvorili između različitih nekompatibilnih vrsta, poput pretvaranja niza u broj ili bajtni niz u cjelobrojne ili čak heksadecimalne nizove, u druge numeričke vrste, potrebna nam je druga pomoćna klasa jer izravna pretvorba nije moguća.
Vrsta podataka može se pretvoriti u drugu vrstu podataka pomoću metoda prisutnih u klasi pretvorbe ili pomoću metode TryParse koja je dostupna za različite brojevne vrste. TryParse je korisniji ako pretvaramo niz u broj. Prilično je izravno i učinkovito.
int number = Int32.Parse(“123”);
Ovdje smo pretvorili niz u cijeli broj pomoću parsea.
Pogledajmo još jednu metodu pretvorbe, a to je metoda Pretvori.
Statičke metode prisutne unutar Pretvori klasu su vrlo korisni za pretvaranje u osnovni tip podataka ili obrnuto. Neke su podržane vrste podataka Char, Boolean, Int32, int64, Double, Decimal, String, Int16 itd. Klasa Convert također podržava metode za druge pretvorbe.
Pretvori u niz
Convert.ToString metoda pretvara vrstu podataka u niz. U primjer u nastavku pretvaramo cjelobrojni tip podataka u niz podataka.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Ponekad je moguće da prevoditelj možda ne razumije je li operacija izvedena za pretvaranje jedne vrste u drugu valjana ili ne. To dovodi do neuspjeha prevoditelja tijekom izvođenja. Jednom kada pretvorba tipa ne uspije, izbacit će Nevažeću iznimku.
InvalidCastException se baca kad god eksplicitna ili implementacija pretvorbe tipa nije podržana od obje vrste podataka koje se koriste za pretvorbu.
Zaključak
U ovom smo tutorijalu naučili vrste pretvorbe i kako izvršiti pretvorbu između različitih vrsta podataka. Implicitna pretvorba je pretvorba u kojoj se izvedena klasa pretvara u osnovnu klasu poput int u float tip.
Eksplicitna pretvorba je pretvorba koja može prouzročiti gubitak podataka. Eksplicitna pretvorba pretvara osnovnu klasu u izvedenu klasu. Možda ćemo morati izvršiti pretvorbu na različitim drugim vrstama podataka, da bismo za to uzeli pomoć klase pomoćnika. Klasa pomoćnika poput 'Analiziraj' i 'Pretvori' nudi razne načine za pretvaranje jedne vrste podataka u drugu.
Također smo saznali za iznimku koju će kompajler baciti kad ne razumije pretvorbu između dvije vrste.
=> Ovdje potražite Jednostavni vodič za obuku za C #
Preporučena literatura
- Vrste podataka i varijable C # s primjerima
- Vrste podataka C ++
- Pretvorbe tipa u C ++
- Rudarstvo podataka: proces, tehnike i glavni problemi u analizi podataka
- Data Mart Tutorial - Vrste, primjeri i provedba Data Mart
- Vrste testiranja migracije: sa scenarijima ispitivanja za svaku vrstu
- 10+ najboljih alata za prikupljanje podataka sa strategijama prikupljanja podataka
- Značajka baze podataka u IBM Rational Quality Manageru za upravljanje test podacima