Parole chiave selezionate e deselezionate in C#

Parole chiave selezionate e deselezionate in C#

Parole chiave selezionate e deselezionate in C#

In questo articolo parlerò della necessità e dell'uso delle parole chiave selezionate e non selezionate in C# con esempi. Si prega di leggere il nostro articolo precedente, in cui abbiamo discusso della differenza tra il metodo Convert.ToString e il metodo ToString in C#. Il C# fornisce parole chiave selezionate e deselezionate che vengono utilizzate per gestire le eccezioni di tipo integrale.

Perché abbiamo bisogno di parole chiave selezionate e non selezionate in C#?

Secondo MSDN, la parola chiave verificata in C# viene utilizzato per abilitare in modo esplicito il controllo dell'overflow per operazioni aritmetiche e conversioni di tipo integrale. La parola chiave non selezionata in C# viene utilizzato per sopprimere il controllo dell'overflow per le operazioni aritmetiche e le conversioni di tipo integrale.

Qui, il controllo dell'overflow significa che quando il valore di qualsiasi tipo integrale supera il suo intervallo, non solleva alcuna eccezione, ma ci darà risultati imprevisti o spazzatura. Se questo non è chiaro al momento, non preoccuparti, cercheremo di capire i due punti precedenti con esempi.

Esempio:

Per prima cosa, crea un'applicazione console. Ora, a scopo dimostrativo, prendiamo "int ” tipo di dati e vedere qual è il valore massimo che può contenere. Per farlo, modifica la classe del programma come mostrato di seguito.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(int.MaxValue);
            Console.ReadLine();
        }
    }
}

Risultato:2147483647

Esempio senza parola chiave verificata in C#:

Ora, vediamo dove la parola chiave verificata può aiutarci a rendere il tuo codice più utile. Nell'esempio seguente, puoi vedere che abbiamo tre variabili intere. Le variabili intere aeb contengono il valore massimo che può contenere un intero. Quindi aggiungiamo semplicemente l'intero aeb e li archiviamo nella terza variabile intera, ad esempio c.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2147483647;
            int b= 2147483647;

            int c = a + b;

            Console.WriteLine(c);
            Console.ReadLine();
        }
    }
}

Ora esegui l'applicazione e guarda l'output.

Risultato:-2

Come puoi vedere mostra -2, ma questo è quello che non ci aspettavamo. Quello che ci aspettiamo è qualche errore (overflow) o eccezione. È qui che la parola chiave Checked ci aiuta a ottenere e genera un'eccezione di overflow.

Esempio per comprendere la parola chiave verificata in C#

Il seguente esempio di codice utilizza la parola chiave verificata. Poiché utilizziamo la parola chiave selezionata, dovrebbe generare un'eccezione di runtime anziché visualizzare -2.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2147483647;
            int b= 2147483647;

            int c = checked(a + b);

            Console.WriteLine(c);
            Console.ReadLine();
        }
    }
}

Ora, quando esegui l'applicazione, dovresti ottenere la seguente OverflowException come previsto.

In parole semplici, possiamo dire che la parola chiave verificata viene utilizzata in scenari in cui vuoi assicurarti che il tuo tipo di dati sul lato sinistro non vada in overflow

Parola chiave non selezionata in C#:

Capiamo la necessità e l'uso della parola chiave deselezionata in C#. La parola chiave unchecked si comporta quasi allo stesso modo del comportamento predefinito del compilatore.

Dimostriamo il punto precedente. Quindi, modifica la classe Program come mostrato di seguito e quindi guarda l'output.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2147483647;
            int b= 2147483647;

            int c = unchecked(a + b);

            Console.WriteLine(c);
            Console.ReadLine();
        }
    }
}

Come mostrato nel codice sopra, abbiamo appena aggiunto la parola chiave unchecked davanti all'espressione aritmetica della variabile c. Ora, esegui la tua applicazione e dovresti ottenere il seguente output..

Risultato:-2

Quindi questo dimostra che la parola chiave unchecked funziona quasi allo stesso modo del compilatore predefinito. Ora la domanda che ti viene in mente è:quando il compilatore predefinito funziona allo stesso modo della parola chiave deselezionata, qual è l'esatto utilizzo di esso.

Ora, vediamo un semplice esempio per capire l'esatta necessità della parola chiave deselezionata in C#. Modifica la classe del programma come mostrato di seguito.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            const int a = 2147483647;
            const int b= 2147483647;

            int c = a + b;

            Console.WriteLine(c);
            Console.ReadLine();
        }
    }
}

Come puoi vedere nel codice sopra, abbiamo dichiarato le variabili aeb come const int. ora, quando provi a compilare il progetto, dovresti ricevere il seguente errore in fase di compilazione.

Se vuoi aggirare questo comportamento, devi usare la parola chiave deselezionata in C#. Modifica la classe del programma come mostrato di seguito che ti aiuterà a raggiungere questo compito.

using System;
namespace CheckedUncheckedDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            const int a = 2147483647;
            const int b= 2147483647;

            int c = unchecked(a + b);

            Console.WriteLine(c);
            Console.ReadLine();
        }
    }
}

Ora, quando compili questo codice vedrai che il compilatore non genera errori come mostrato nell'immagine sottostante.

Nel prossimo articolo parlerò della Memoria Stack e Heap in .NET Applicazioni con esempi. Qui, in questo articolo, cerco di spiegare la necessità e l'uso delle parole chiave selezionate e non controllate in C# con esempi. Spero che questo articolo ti piaccia. Mi piacerebbe avere il tuo feedback. Pubblica il tuo feedback, la tua domanda o i tuoi commenti su queste parole chiave selezionate e non selezionate nell'articolo C# con esempi.