TOC

This article has been localized into Italian by the community.

Tipi di dati:

Interi

Computer e numeri vanno di pari passo, quindi durante la programmazione ti troverai molto spesso a lavorare con i numeri in molte forme. Uno dei tipi più usati in C# è il numero intero. Per "intero" si intende un numero senza parte frazionale - un numero intero.

Int32 - l'intero predefinito

Come discuterò tra poco, C# viene fornito con molti tipi di interi diversi, ma quello che probabilmente userete la maggior parte delle volte, è l'Int32 - un numero intero a 32 bit. Può essere dichiarato in questo modo:

Int32 number;

Tuttavia, poiché questo è il tipo intero più utilizzato in C#, ha una scorciatoia - puoi semplicemente scrivere "int" e C# saprà automaticamente che stai parlando di un Int32. Ovviamente puoi anche assegnargli un valore, nella stessa istruzione in cui lo dichiari:

int number = 42;

Notate comunque la differenza - Int32 si riferisce a una classe, quindi inizia con una I maiuscola, mentre int è una parola chiave, quindi inizia con una i minuscola.

Int32 è un cosiddetto numero intero con segno, che può contenere un numero compreso tra -2.147.483.648 e 2.147.483.647. È possibile verificare ciò accedendo alle costanti Int32.MinValue e Int32.MaxValue. Se hai bisogno di numeri più grandi, o se sai già che i numeri con cui lavorerai non raggiungeranno mai i limiti di un intero, puoi scegliere un altro tipo.

Tipi di interi

Come già accennato, ci sono molti tipi di interi in C#. In effetti, troppi per citarli tutti in questo articolo, ma qui ci sono quelli più comuni che probabilmente incontrerai di volta in volta:

  • byte - un numero intero senza segno che può contenere un numero compreso tra 0 e 255.
  • short - un intero con segno a 16 bit, che può contenere un valore compreso tra -32.768 e 32.767. Conosciuto anche con il suo nome formale Int16.
  • long - un numero intero a 64 bit, che può contenere un valore compreso tra -9.223.372.036.854.775,808 e 9.223.372.036.854.775.807. Conosciuto anche con il suo nome formale Int64.

Se hai bisogno di avere un numero maggiore di quello consentito dal tipo long, puoi invece usare l'intero ulong - è un intero senza segno, che può contenere un valore fino a 18.446.744.073,709,551,615. D'altra parte, poiché è un numero intero senza segno, non consente valori negativi. Allo stesso modo, puoi trovare versioni senza segno degli altri tipi interi che funzionano allo stesso modo, come uint e ushort.

Matematica con gli interi

Quando lavori con numeri interi e numeri in generale, potresti voler eseguire alcuni calcoli. Questo è molto semplice nella maggior parte dei linguaggi di programmazione, incluso C#, dove è possibile utilizzare tutti gli operatori matematici più comuni così come sono. Ad esempio, puoi fare un calcolo come questo:

int a = 42;  
int b = 8;  

Console.WriteLine(a + b);

Il numero 50 verrà stampato nella console. Nota come puoi gestire questo calcolo senza fare nulla di speciale - basta specificare le variabili e l'operatore matematico "più".

Lo stesso vale se si desidera utilizzare altri operatori matematici e, naturalmente, è possibile utilizzare anche numeri che non sono già definiti come variabili:

int a = 42;  
int b = 8;  

Console.WriteLine(200 - ((a + b) * 2));

Nota il set extra di parentesi - proprio come nella matematica normale, dovrai affrontare l'ordine delle operazioni.

Interi e divisioni

Ora che abbiamo aggiunto, sottratto e moltiplicato, parliamo un po' della divisione. Considera il seguente esempio:

int a = 10;
int b = 3;

Console.WriteLine(a / b);

Probabilmente puoi calcolarlo nella tua testa e quindi sai che il risultato dovrebbe essere 3.33333333333. Ma se si esegue l'esempio, si vedrà qualcosa di strano - il risultato è invece 3. Il motivo è che se si esegue una divisione tra due numeri interi, C# restituirà anch'esso un numero intero e poiché un numero intero non può contenere alcuna frazione, il risultato viene arrotondato (in questo caso a 3). Quindi, se vuoi un risultato con le frazioni, dovresti dichiarare una delle variabili come variabile float (altro nei capitoli successivi) o crearne una al volo:

int a = 10;
int b = 3;

Console.WriteLine((float)a / b);

Conversione

Parliamo di più su come è possibile convertire da e in un intero. Prima di tutto, C# consente conversioni implicite ed esplicite tra vari tipi di interi. Un esempio di conversione implicita potrebbe essere simile a questo:

int a = 10;
long b = a;

In altre parole, se hai un intero, puoi trattarlo come long. Questo è possibile perché C# sa che il valore di un intero può rientrare in un long. D'altra parte, il contrario potrebbe non essere vero - quindi, dovrai usare una conversione esplicita per questo:

long a = 10;
int b = (int)a;

Questo ovviamente ti rende consapevole che stai facendo qualcosa che potenzialmente potrebbe andare storto: se hai un valore long che supera la capacità di un intero normale, sei nei guai!

Sommario

Lavorare con numeri, come interi e float, è qualcosa che farai molto in quasi tutti i compiti di programmazione. Con le tue nuove conoscenze sugli interi e su come lavorare con loro, è il momento di passare ai valori float nel prossimo articolo.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!