Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Conversione di Tipo di Base | Gestione dei Tipi di Dati
Fondamenti di C#

bookConversione di Tipo di Base

Il Type Casting è il processo di conversione di un valore da un tipo di dato a un altro. Questo è spesso possibile tra tipi che rappresentano numeri. Ad esempio, è possibile convertire un float in un int e viceversa. Tuttavia, convertire direttamente una string in un int non ha senso logico e non è possibile senza passaggi aggiuntivi.

Esistono due tipi di type casting: type casting implicito e type casting esplicito.

Il type casting implicito avviene automaticamente quando un valore viene convertito da un tipo a un altro, solitamente da un tipo di dato più piccolo a uno più grande.

main.cs

main.cs

copy
1234
int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double

Il type casting implicito avviene automaticamente quando un tipo di dato più piccolo viene convertito in uno più grande. La dimensione di un tipo di dato è determinata da quante informazioni può contenere, misurata in bit. Ad esempio, un int può contenere 32 bit, mentre un long può contenerne 64, quindi la conversione da int a long avviene automaticamente. Allo stesso modo, un float può essere convertito in un double senza problemi.

Ecco un elenco di tipi di dato ordinati dal più piccolo al più grande: char -> int -> long -> float -> double

Il type casting esplicito si verifica quando il programmatore indica al computer di convertire un valore in un tipo di dato diverso. Questo è necessario quando si converte da un tipo di dato più grande a uno più piccolo perché alcune informazioni potrebbero andare perse. Ad esempio, convertendo il float 3.14 in un intero si ottiene 3, perdendo la parte decimale. Per questo motivo è necessario indicare esplicitamente al computer di effettuare tali conversioni.

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }

Per correggere l'errore nel codice sopra, è necessario effettuare un cast esplicito di val1 a un valore intero.

La sintassi di un cast è (datatype) value, ad esempio (int) 3.1415. Quindi, in questo caso scriveremo (int) val1:

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
question mark

Quali delle seguenti affermazioni sono corrette?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 11

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 1.59

bookConversione di Tipo di Base

Scorri per mostrare il menu

Il Type Casting è il processo di conversione di un valore da un tipo di dato a un altro. Questo è spesso possibile tra tipi che rappresentano numeri. Ad esempio, è possibile convertire un float in un int e viceversa. Tuttavia, convertire direttamente una string in un int non ha senso logico e non è possibile senza passaggi aggiuntivi.

Esistono due tipi di type casting: type casting implicito e type casting esplicito.

Il type casting implicito avviene automaticamente quando un valore viene convertito da un tipo a un altro, solitamente da un tipo di dato più piccolo a uno più grande.

main.cs

main.cs

copy
1234
int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double

Il type casting implicito avviene automaticamente quando un tipo di dato più piccolo viene convertito in uno più grande. La dimensione di un tipo di dato è determinata da quante informazioni può contenere, misurata in bit. Ad esempio, un int può contenere 32 bit, mentre un long può contenerne 64, quindi la conversione da int a long avviene automaticamente. Allo stesso modo, un float può essere convertito in un double senza problemi.

Ecco un elenco di tipi di dato ordinati dal più piccolo al più grande: char -> int -> long -> float -> double

Il type casting esplicito si verifica quando il programmatore indica al computer di convertire un valore in un tipo di dato diverso. Questo è necessario quando si converte da un tipo di dato più grande a uno più piccolo perché alcune informazioni potrebbero andare perse. Ad esempio, convertendo il float 3.14 in un intero si ottiene 3, perdendo la parte decimale. Per questo motivo è necessario indicare esplicitamente al computer di effettuare tali conversioni.

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }

Per correggere l'errore nel codice sopra, è necessario effettuare un cast esplicito di val1 a un valore intero.

La sintassi di un cast è (datatype) value, ad esempio (int) 3.1415. Quindi, in questo caso scriveremo (int) val1:

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
question mark

Quali delle seguenti affermazioni sono corrette?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 11
some-alt