Der nameof-Ausdruck in C#

Muhammad Maisam Abbas 12 Oktober 2023
Der nameof-Ausdruck in C#

In diesem Tutorial wird die Verwendung des nameof-Ausdrucks in C# besprochen.

Der nameof Ausdruck in C#

Der Ausdruck nameof erhält den Namen einer Variablen, eines Datentyps, eines Felds oder eines Elements in C#. Der Ausdruck nameof nimmt ein Artefakt als Eingabe und gibt den Namen dieses bestimmten Artefakts im Zeichenkettenformat zurück. Dies ist im folgenden Codebeispiel dargestellt.

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));
    }
  }
}

Ausgabe:

number
Int32
nameof_operator

Wir haben den Namen einer Variablen, eines Datentyps und eines Namespace mit dem Ausdruck nameof in C# gedruckt. Der Ausdruck nameof wird während der Kompilierungszeit ausgewertet und hat keinen Einfluss auf die Verarbeitungsgeschwindigkeit zur Laufzeit. Die Hauptverwendung des Ausdrucks nameof liegt in der Argumentprüfung auf ArgumentException und alles, was damit zusammenhängt. Wenn wir beispielsweise eine Variable mit dem Namen data haben und eine Meldung anzeigen, dass die Variable data nicht initialisiert wird, wenn sie null ist. In einem herkömmlichen Programm funktioniert dies einwandfrei. Wenn wir jedoch den Namen der Variablen data in die Variable input ändern, müssen wir auch die Ausgabemeldung ändern. Dieses Szenario kann elegant mit nur einem einzigen Ausdruck nameof behandelt werden, wie im folgenden Codierungsbeispiel gezeigt.

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

Jetzt müssen wir uns nicht mehr darum kümmern, viel Code zu ändern, um unsere Variable data in etwas anderes umzubenennen.

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

Verwandter Artikel - Csharp Keyword