c type casting explicit implicit data conversion with example
Emissió de tipus de dades en C # amb exemples: aquest tutorial explica la conversió explícita i implícita, la conversió a cadena i la conversió de tipus de dades mitjançant classes auxiliars:
Tipus de dades i variables en C # es van explicar amb detall al nostre tutorial anterior.
Hem après com es pot convertir un tipus de dades en un altre tipus de dades mitjançant l’ús de tipus casting. La tipografia es divideix en dues parts, és a dir, la conversió implícita i la explícita.
Aprofundim en el repartiment de tipus C # en aquest tutorial.
=> Cerqueu aquí la guia de formació Easy C #
És una conversió implícita quan un tipus de dades més petit es converteix en un tipus de dades més gran o una classe derivada en una classe base.
D'altra banda, la conversió en sentit contrari es coneix com a conversió explícita. Necessita un operador de repartiment per convertir un tipus de dades més alt en un tipus de dades més petit. Aquest tipus de conversió no és apta per a tipus i pot provocar la pèrdua de dades.
Què aprendreu:
Emissió de tipus de dades en C #
En aquest tutorial, analitzarem detalladament com es pot convertir un tipus de dades en un altre tipus de dades. C # és de tipus estàtic durant la compilació, el que significa que després de declarar una variable no es pot utilitzar per emmagatzemar valors de cap altre tipus de dades.
Tot i això, es pot superar convertint aquest tipus en un tipus variable.
eines de prova de navegadors creuats de codi obert
Intentem convertir un valor de cadena en un enter.
int a; a = 'some random string';
Si compilem això, generarà un error en què s'indica que 'No es pot convertir implícitament el tipus' cadena 'a' int '.
Els tipus de dades es poden dividir en funció dels tipus de dades.
- Primitiva
- No primitiu
Tipus de dades primitius estan predefinits mentre que els tipus de dades no primitius estan definits per l'usuari. Els tipus de dades com byte, int, short, float, long, char, bool, etc. s’anomenen tipus de dades primitives. Tipus de dades no primitius inclouen classe, enum, array, delegat, etc.
En aquest tutorial, analitzarem els diferents mètodes que ofereix C # per a la tipografia.
Conversió implícita
La conversió implícita és el tipus de conversió més senzill. Aquest tipus de conversió és apta per a tipus i no es produeix cap pèrdua de dades durant la conversió. Aquestes conversions consisteixen a convertir una classe derivada en classe base.
Per exemple, podem utilitzar directament la conversió implícita si el valor que cal emmagatzemar en una altra variable pot cabre directament sense pèrdua de dades. Suposem que tenim un valor 'enter' i que volem passar aquest valor a un 'llarg'.
int i = 75; long j = i;
Conversió explícita
En la conversió implícita, vam veure que podem convertir directament una classe derivada en classe base sense perdre cap dada, però en cas que hi hagi possibilitat de pèrdua de dades, el compilador requerirà una conversió explícita.
La conversió o emissió explícita és un procés de transmissió d'informació al compilador que el programa intenta realitzar la conversió amb el coneixement de la possible pèrdua de dades.
Per exemple, si estem convertint un valor numèric superior en un valor inferior.
aprenentatge automàtic vs intel·ligència artificial vs mineria de dades
double d = 75.25; int i; i = (int)d;
Ara, si imprimiu “i”, trobareu que imprimirà “75”. Es perdran totes les dades després del decimal a la conversió.
Conversió mitjançant diferents classes d’ajuda
Per convertir entre diferents tipus no compatibles, com ara convertir una cadena en un nombre o una matriu de bytes en un nombre enter o fins i tot cadenes hexadecimals en altres tipus numèrics, necessitem una classe auxiliar diferent, ja que no és possible una conversió directa.
Un tipus de dades es pot convertir en un altre tipus de dades mitjançant mètodes presents a la classe de conversió o mitjançant un mètode TryParse que està disponible per als diversos tipus de números. TryParse és més útil si estem convertint una cadena en un número. És bastant senzill i eficient.
int number = Int32.Parse(“123”);
Aquí hem convertit una cadena en un enter mitjançant l'ús de parse.
Vegem un altre mètode de conversió que és el mètode Converteix.
Mètodes estàtics presents a l'interior del fitxer Converteix classe són força útils per convertir al tipus de dades base o viceversa. Alguns dels tipus de dades admesos són Char, Boolean, Int32, int64, Double, Decimal, String, Int16, etc. La classe Convert també admet mètodes per a altres conversions.
Converteix a cadena
El mètode Convert.ToString converteix un tipus de dades en una cadena. A la exemple a continuació, estem convertint un tipus de dades enter a un tipus de dades de cadena.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
De vegades és possible que el compilador no entengui si l'operació realitzada per convertir un tipus en un altre és vàlida o no. Això fa que el compilador falli durant el temps d'execució. Un cop la conversió de tipus falli, generarà una excepció no vàlida.
InvalidCastException es genera sempre que els dos tipus de dades utilitzats per a la conversió no admeten una implementació de conversió explícita o de tipus.
Conclusió
En aquest tutorial, hem après els tipus de conversió i com es pot realitzar una conversió entre diferents tipus de dades. La conversió implícita és la conversió en què una classe derivada es converteix en una classe base com int en un tipus flotant.
La conversió explícita és la conversió que pot provocar la pèrdua de dades. La conversió explícita converteix la classe base en la classe derivada. És possible que hàgim de realitzar la conversió en altres tipus de dades diferents, per fer-ho, ajudem la classe auxiliar. La classe auxiliar com 'Parse' i 'ConvertTo' ofereix diverses maneres de convertir un tipus de dades en un altre.
També vam conèixer l'excepció que llançarà el compilador quan no entengui la conversió entre dos tipus.
=> Cerqueu aquí la guia de formació Easy C #
Lectura recomanada
- C # Tipus de dades i variables amb exemples
- Tipus de dades C ++
- Escriviu conversions en C ++
- Mineria de dades: procés, tècniques i grans qüestions en l’anàlisi de dades
- Tutorial de Data Mart: tipus, exemples i implementació de Data Mart
- Tipus de proves de migració: amb escenaris de prova per a cada tipus
- 10+ millors eines de recopilació de dades amb estratègies de recopilació de dades
- Funció de pool de dades a IBM Rational Quality Manager per a la gestió de dades de proves