L'espressione nameof in C#

Muhammad Maisam Abbas 16 febbraio 2024
L'espressione nameof in C#

Questo tutorial discuterà gli usi dell’espressione nameof in C#.

L’espressione nameof in C#

L’espressione nameof ottiene il nome di una variabile, un tipo di dati, un campo o un membro in C#. L’espressione nameof accetta un artefatto come input e restituisce il nome di quel particolare artefatto in formato stringa. È illustrato nell’esempio di codice riportato di seguito.

using System;

namespace nameof_operator {
  class Program {
    static void Main(string[] args) {
      int number = 15;
      Console.WriteLine(nameof(number));
      Console.WriteLine(nameof(System.Int32));
      Console.WriteLine(nameof(nameof_operator));
    }
  }
}

Produzione:

number Int32 nameof_operator

Abbiamo stampato il nome di una variabile, un tipo di dati e uno spazio dei nomi con l’espressione nameof in C#. L’espressione nameof viene valutata durante il tempo di compilazione e non influenza la velocità di elaborazione durante il runtime. L’uso principale dell’espressione nameof è nel controllo degli argomenti per ArgumentException e qualsiasi cosa ad essa correlata. Ad esempio, se abbiamo una variabile chiamata data e stiamo visualizzando un messaggio che dice che la variabile data non è inizializzata se è nulla. Funzionerà perfettamente in un programma convenzionale, ma se cambiamo il nome della variabile data nella variabile input, dobbiamo anche cambiare il messaggio di output. Questo scenario può essere gestito elegantemente con una sola espressione nameof, come mostrato nell’esempio di codifica sotto.

public string getData(int data) {
  if (data == null) {
    throw new ArgumentNullException(nameof(data));
  }
}

Ora non dobbiamo preoccuparci di cambiare molto codice per rinominare la nostra variabile data in qualcos’altro.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Csharp Keyword