Das @-Symbol vor einem Variablennamen in C#

Muhammad Zeeshan 12 Oktober 2023
  1. Was ist ein @-Symbol in C#
  2. die Bedeutung des @-Symbols in C#
  3. Beispiele für die Verwendung des @-Symbols in C#
Das @-Symbol vor einem Variablennamen in C#

Dieser Artikel erklärt das @-Symbol vor einem Variablennamen in C# bedeutet.

Was ist ein @-Symbol in C#

Für einige C#-Entwickler kann das Zeichen @ etwas beunruhigend sein. Nur wenige Programmierer programmieren schon lange, haben aber immer noch falsche Vorstellungen darüber, was @ tut.

Bei der Interaktion mit anderen Programmiersprachen ermöglicht die Notation @ die Verwendung von Schlüsselwörtern als Bezeichner. Da das Zeichen @ nicht wirklich Teil des Bezeichners ist, könnte es in anderen Sprachen als regulärer Bezeichner interpretiert werden.

Eine wörtliche Kennung ist eine Kennung mit einem @-Begriff. Der Begriff @ kann für Kennungen verwendet werden, die keine Schlüsselwörter sind, aber es wird aufgrund des Stils dringend davon abgeraten.

die Bedeutung des @-Symbols in C#

Sie können die reservierten Wörter verwenden, indem Sie das Zeichen @ verwenden. Betrachten Sie das folgende Szenario.

int @class = 29;

Und das folgende funktioniert nicht für die Verwendung des reservierten Wortes.

int class
= 29;

Wenn Sie einen Backslash in eine Zeichenfolge einfügen möchten, müssen Sie ihn zuerst maskieren, indem Sie einen weiteren Backslash davor einfügen. Der folgende Code speichert den String "C:\\Program Files\\wmplayer.exe" in der String-Variablen filepath.

string filepath = "C:\\Program Files\\wmplayer.exe";

Dies kann frustrierend sein, wenn Sie viele Zeichenfolgen mit Backslashes eingeben müssen. Um die Dinge etwas einfacher zu machen, können Sie das Symbol @ vor einem String verwenden, um ein wörtliches String-Literal zu erzeugen, das Backslashes als Escape-Zeichen ignoriert.

Wenn Sie dies tun, können Sie keine Sonderzeichen wie Zeilenumbrüche oder Tabulatoren in die Zeichenfolge einfügen. Der folgende Code ist derselbe wie der vorherige Code, außer dass er stattdessen ein Zeichenfolgenliteral verwendet.

string filepath = @"C:\Program Files\wmplayer.exe";

Dies gilt nur für Ihren Code, nicht für alles, was der Benutzer in eine TextBox oder eine ComboBox eingibt. Ohne Escapezeichen und ohne besondere Bedeutung, die mit dem Zeichen verbunden ist, wird alles, was der Benutzer eingibt, Teil der Eigenschaft Text des Steuerelements.

Da der Benutzer keine Sonderzeichen eingeben kann, müssen Sie sich keine Gedanken über die unterschiedliche Behandlung von Escape-Zeichen machen, unabhängig davon, was der Benutzer eingibt. Mit anderen Worten, der Benutzer kann nicht \t eingeben, um ein Tabulatorzeichen einzugeben.

Beispiele für die Verwendung des @-Symbols in C#

  1. Es impliziert wirklich, dass es Ihnen erlaubt, reservierte Begriffe zu verwenden.

    char @int = 'z';
    

Und darunter wird man nicht funktionieren.

```c#
char int = 'z';
```
  1. Wir betrachten auch ein anderes Szenario; Das @-Zeichen wird auch verwendet, wenn Zeichenfolgen mit Escape-Zeichen definiert werden.

    string str = @"C:\Users\Shani\Downloads\Book1.xlsx";
    

Der folgende Code ist eine Alternative zum obigen.

```c#
string str = "C:\\Users\\Shani\\Downloads\\Book1.xlsx";
```
  1. Der folgende Code zeigt beim Programmstart zahlreiche Zeichenfolgenliterale und andere Zeichenfolgenprobleme an.

    private void AtsymbolForm_Load(object sender, EventArgs e) {
      txtdblSlash.Text = "C:\\Users\\Shani\\Downloads\\Book1.xlsx";
      Console.WriteLine(txtdblSlash.Text);
      Console.WriteLine(@txtdblSlash.Text);
    }
    

Hier hat das Hinzufügen eines @ keinen Einfluss auf den Inhalt der TextBox.

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Verwandter Artikel - Csharp Variable