c type casting explicit implicit data conversion with example
Casting af datatype i C # med eksempler: Denne tutorial forklarer eksplicit og implicit konvertering, konverter til streng og konvertering af datatype ved hjælp af hjælpeklasser:
Datatyper og variabler i C # blev forklaret detaljeret i vores tidligere tutorial.
Vi lærte, hvordan en datatype kan konverteres til en anden datatype ved hjælp af type casting. Typecasting er opdelt i to dele, dvs. implicit og eksplicit konvertering.
Lad os grave dybere ned i C # Type Casting i denne vejledning.
hvordan man opretter generisk array i java
=> Se efter den nemme C # træningsvejledning her
Det er implicit konvertering, når en mindre datatype konverteres til en større datatype eller afledt klasse til en basisklasse.
På den anden side er konvertering i den modsatte retning kendt som eksplicit konvertering. Det har brug for en cast-operatør til at konvertere højere datatype til en mindre datatype. Denne type konvertering er ikke typesikker og kan resultere i tab af data.
Hvad du lærer:
Casting af datatype i C #
I denne vejledning diskuterer vi detaljeret, hvordan en type data kan konverteres til en anden datatype. C # er statisk type under kompilering, hvilket betyder, at det efter erklæringen af en variabel ikke kan bruges til at gemme værdier af nogen anden datatype.
Dette kan dog overvindes ved at konvertere denne type til en variabel type.
Lad os prøve at konvertere en strengværdi til et heltal.
int a; a = 'some random string';
Hvis vi kompilerer dette, vil det kaste en fejl, der siger, at 'Kan ikke implicit konvertere type 'streng' til 'int'.'
Datatyper kan opdeles yderligere baseret på datatyper.
- Primitiv
- Ikke-primitiv
Primitive datatyper er foruddefinerede, mens ikke-primitive datatyper er brugerdefinerede. Datatyper som byte, int, kort, float, lang, char, bool osv. Kaldes primitive datatyper. Ikke-primitive datatyper inkluderer klasse, enum, array, delegeret osv.
I denne vejledning vil vi se på de forskellige metoder, der tilbydes af C # til typecasting.
Implicit konvertering
Implicit konvertering er den enkleste type konvertering. Denne type konvertering er typesikker og intet tab af data sker under konvertering. Disse konverteringer handler om at konvertere en afledt klasse til basisklasse.
sikker online youtube til mp3 konverter
For eksempel, Vi kan direkte bruge implicit konvertering, hvis den værdi, der skal lagres i en anden variabel, kan passe direkte uden tab af data. Lad os sige, at vi har en 'heltal' -værdi, og vi vil overføre denne værdi til en 'lang'.
int i = 75; long j = i;
Eksplicit konvertering
I implicit konvertering så vi, at vi direkte kan konvertere en afledt klasse til basisklasse uden at miste data, men hvis der er en chance for datatab, skal compileren udføre en eksplicit konvertering.
Eksplicit konvertering eller cast er en proces til at videregive information til compileren, som programmet forsøger at udføre konvertering med viden om muligt datatab.
For eksempel, hvis vi konverterer en højere numerisk værdi til en lavere.
double d = 75.25; int i; i = (int)d;
Hvis du nu udskriver “i”, vil du opdage, at den udskriver “75”. Alle data efter decimalet går tabt i konverteringen.
Konvertering ved hjælp af forskellige hjælperklasser
For at konvertere mellem forskellige ikke-kompatible typer, såsom at konvertere en streng til et tal eller et byte-array til et heltal eller endda hexadecimale strenge til andre numeriske typer, har vi brug for forskellige hjælperklasser, da en direkte konvertering ikke er mulig.
En datatype kan konverteres til en anden datatype ved hjælp af metoder til stede i konverteringsklassen eller ved hjælp af en TryParse-metode, der er tilgængelig for de forskellige taltyper. TryParse er mere nyttigt, hvis vi konverterer en streng til tallet. Det er ret ligetil og effektivt.
int number = Int32.Parse(“123”);
Her konverterede vi en streng til et heltal ved hjælp af parse.
Lad os se på en anden konverteringsmetode, der er konverteringsmetoden.
Statiske metoder til stede inde i Konverter klasse er ret nyttige til konvertering til basedatatypen eller omvendt. Nogle af de understøttede datatyper er Char, Boolean, Int32, int64, Double, Decimal, String, Int16 osv. Convert-klasse understøtter også metoder til andre konverteringer.
Konverter til streng
Metoden Convert.ToString konverterer en datatype til en streng. I eksempel nedenfor konverterer vi en heltal datatype til en streng datatype.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Nogle gange er det muligt, at compileren muligvis ikke forstår, om den handling, der udføres for at konvertere en type til en anden, er gyldig eller ej. Dette får compileren til at mislykkes i løbet af løbetiden. Når typekonvertering mislykkes, kaster den en ugyldig undtagelse.
InvalidCastException smides, når en eksplicit eller typekonvertering implementering ikke understøttes af begge datatyper, der bruges til konvertering.
Konklusion
I denne vejledning lærte vi typerne af konvertering, og hvordan man udfører en konvertering mellem forskellige datatyper. Implicit konvertering er den konvertering, hvor en afledt klasse konverteres til en basisklasse som int til en float-type.
spørgsmål og svar til kvalitetssikringsinterview pdf
Eksplicit konvertering er den konvertering, der kan medføre datatab. Eksplicit konvertering konverterer basisklassen til den afledte klasse. Vi bliver muligvis nødt til at udføre konverteringen på forskellige andre datatyper for at gøre det tager vi hjælp fra hjælperklassen. Hjælpeklasse som 'Parse' og 'ConvertTo' tilbyder forskellige måder at konvertere en datatype til en anden.
Vi lærte også om undtagelsen, som kompilatoren vil kaste, når den ikke forstår konvertering mellem to typer.
=> Se efter den nemme C # træningsvejledning her
Anbefalet læsning
- C # Datatyper og variabler med eksempler
- C ++ datatyper
- Skriv konverteringer i C ++
- Data Mining: Process, teknikker og større problemer i dataanalyse
- Data Mart Tutorial - Typer, eksempler og implementering af Data Mart
- Typer af migreringstest: Med testscenarier for hver type
- 10+ bedste dataindsamlingsværktøjer med strategier til dataindsamling
- Data Pool-funktion i IBM Rational Quality Manager til testdatastyring