Quali tipi di dati esistono in C#

Quali Tipi Di Dati Esistono In C



I tipi di dati sono un aspetto importante di qualsiasi linguaggio di programmazione e C# offre diversi tipi di dati usati per dichiarare variabili, definire metodi e creare oggetti. In questo articolo verranno illustrati i diversi tipi di dati in C# e le relative sottocategorie, inclusi i tipi di dati valore, riferimento e puntatore.

Quali tipi di dati esistono in C#?

C# è un linguaggio di programmazione fortemente tipizzato , il che significa che tutte le variabili devono essere dichiarate con un tipo di dati specifico e ha tre categorie principali di tipi di dati:







1: tipi di dati valore

I tipi di dati di valore sono quelli che memorizzano i loro valori direttamente in memoria. Sono allocati nello stack e spesso utilizzati per archiviare set di dati più piccoli. Di seguito sono riportate le sottocategorie dei tipi di dati valore:



Tipo di dati numerici



Questi tipi di dati vengono utilizzati per la memorizzazione di valori numerici. I tipi di dati numerici sono suddivisi in diverse sottocategorie, come decimali, numeri interi e numeri in virgola mobile:





  • Interi: Questi tipi di dati vengono utilizzati per memorizzare numeri interi e le sottocategorie di numeri interi includono sbyte, byte, short, ushort, int, uint, long e ulong. L'intervallo di valori che ogni formato di dati interi può contenere varia.
  • Numeri in virgola mobile: Questi tipi di dati vengono utilizzati per memorizzare i numeri decimali e le sottocategorie dei numeri in virgola mobile includono float e double. Float può memorizzare fino a 7 cifre decimali, mentre double può memorizzare fino a 15 cifre decimali.
  • Decimali: Questi tipi di dati vengono utilizzati per memorizzare interi decimali altamente precisi. Decimal può memorizzare fino a 28 cifre decimali.

Tipo di dati booleano

I valori booleani, che possono essere solo veri o falsi, sono memorizzati in questa forma di dati.



Tipo di dati carattere

I singoli caratteri vengono memorizzati utilizzando questo tipo di dati.

Esempio

Il codice di esempio seguente illustra come utilizzare il tipo di dati value in C#:

utilizzando il sistema;

namespace ValueDataTypesEsempio
{
programma di classe
{
vuoto statico principale ( corda [ ] arg )
{
int mioInt = 5 ;
float mioFloat = 3.14f;
doppio mioDoppio = 3.14159265359 ;
bool mioBool = VERO ;
char mioCar = 'UN' ;

Console.WriteLine ( 'Il mio valore intero è: ' + mioInt ) ;
Console.WriteLine ( 'Il mio valore float è: ' + mioFloat ) ;
Console.WriteLine ( 'Il mio doppio valore è: ' + mioDoppio ) ;
Console.WriteLine ( 'Il mio valore booleano è: ' + mioBool ) ;
Console.WriteLine ( 'Il valore del mio carattere è: ' + miocaratt ) ;
}
}
}

In questo esempio, abbiamo dichiarato e inizializzato variabili di diversi tipi di dati di valore come int, float, double, bool e char. Abbiamo quindi stampato i valori di queste variabili utilizzando il metodo Console.WriteLine, l'output di questo programma sarà:

2: tipi di dati di riferimento

I tipi di dati di riferimento sono quelli che memorizzano un riferimento alla posizione di memoria in cui è memorizzato il valore. Sono allocati nell'heap e vengono in genere utilizzati per archiviare grandi quantità di dati. Di seguito sono riportate le sottocategorie dei tipi di dati di riferimento:

Classe

In C#, una classe è un tipo di riferimento che definisce un progetto per la creazione di oggetti.

Corda

Questo tipo di dati di riferimento viene utilizzato per archiviare dati di testo, la stringa è un tipo di riferimento, ma si comporta come un tipo di valore in molti modi.

Vettore

È possibile archiviare una raccolta di valori dello stesso tipo utilizzando questo tipo di dati. Gli array sono tipi di riferimento, ma in alcuni casi possono anche comportarsi come tipi di valore.

Interfaccia

Un'interfaccia definisce un insieme di metodi, proprietà, eventi e indicizzatori, senza fornire alcun dettaglio di implementazione.

Delegare

Un delegato consente di passare un metodo come argomento a un altro metodo e quindi richiamare tale metodo successivamente tramite il delegato.

Esempio

Ecco alcuni esempi di codice C# che mostrano come utilizzare tipi di dati di riferimento :

utilizzando il sistema;

classe Persona
{
stringa pubblica Nome;
pubblico int Età;
}

programma di classe
{
vuoto statico principale ( corda [ ] arg )
{
Persona persona1 = nuova Persona ( ) ;
persona1.Nome = 'LUI STESSO' ;
persona1.Età = venti ;

Persona persona2 = persona1;
persona2.Età = 30 ;

Console.WriteLine ( persona1.Nome + ' È ' + persona1.Età + ' Anni.' ) ;
Console.WriteLine ( persona2.Nome + ' È ' + persona2.Età + ' Anni.' ) ;
}
}

La classe Person in questo esempio ha due campi pubblici: Name, che è di tipo string, ed Age, che è di tipo int. Quindi, creiamo una nuova istanza della classe Person e la assegniamo a person1 nel metodo Main. Modifichiamo gli attributi Nome ed Età di person1.

Successivamente, creiamo un'altra variabile di riferimento person2 e le assegniamo il valore di person1. Modifichiamo quindi la proprietà Age di person2 in 30.

Infine, stampiamo il nome e l'età di person1 e person2. Si noti che, modificando il valore di persona2.Età cambia anche il valore di persona1.Età , poiché entrambe le variabili si riferiscono allo stesso oggetto in memoria.

3: tipi di dati puntatore

I tipi di dati puntatore vengono utilizzati per memorizzare l'indirizzo di memoria di un'altra variabile. Sono utilizzati nella programmazione di basso livello, come la programmazione a livello di sistema o lo sviluppo di driver di dispositivo . In C# i tipi di dati puntatore non vengono usati direttamente , ma possono essere utilizzati in blocchi di codice non sicuri. Di seguito è riportata la sottocategoria dei tipi di dati puntatore:

Tipo di dati puntatore

Questo tipo di dati viene utilizzato per memorizzare l'indirizzo di memoria di un'altra variabile.

Ecco un esempio che dimostra l'uso di tipi di dati del puntatore in C# anche se richiede molta cura:

utilizzando il sistema;

programma di classe {
vuoto non sicuro statico Principale ( ) {
numero intero = 10 ;
int * p = & nessuno;
Console.WriteLine ( $ 'Valore di num: {num}' ) ;
Console.WriteLine ( $ 'Indirizzo di num: {(lungo)p:X}' ) ;
Console.WriteLine ( $ 'Valore di num utilizzando il puntatore: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

In questo esempio, utilizziamo la parola chiave unsafe per consentire l'uso di puntatori. Dichiariamo una variabile di tipo int e le assegniamo il valore 10. Creiamo quindi una variabile puntatore pointer di tipo int* e le assegniamo l'indirizzo di memoria del valore utilizzando l'operatore &.

Inoltre, accediamo quindi al valore memorizzato in value dereferenziando il puntatore utilizzando l'operatore *, e possiamo anche modificare il valore utilizzando lo stesso operatore:

Nota: L'uso dei puntatori in C# richiede una cura e un'attenzione aggiuntive per evitare problemi di gestione della memoria, quindi devono essere usati solo quando necessario e con cautela.

Conclusione

Esistono molti tipi di dati diversi disponibili in C# che possono essere utilizzati per varie attività. Piccole quantità di dati vengono archiviate utilizzando i tipi di dati di valore e quantità maggiori vengono archiviate utilizzando i tipi di dati di riferimento. I tipi di dati puntatore vengono usati nella programmazione di basso livello e non sono comunemente usati in C#.