Heim >Backend-Entwicklung >C++ >Wie konvertiert man ein Zeichen effizient in sein Ganzzahläquivalent in C#?

Wie konvertiert man ein Zeichen effizient in sein Ganzzahläquivalent in C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-26 05:16:09843Durchsuche

How to Efficiently Convert a Character to its Integer Equivalent in C#?

Konvertierung von Zeichen in Ganzzahlen in C#

Beim Umgang mit Zeichen in C# müssen Sie Zeichen häufig in Ganzzahlen umwandeln. Wenn Sie jedoch Convert.ToInt32 direkt verwenden, wird der Dezimalwert des Zeichens zurückgegeben, nicht der numerische Wert.

Alternative Konvertierungsmethode:

Während Convert.ToInt32 normalerweise für die Konvertierung von Zeichenfolgen in Ganzzahlen verwendet wird, ist es nicht für die Konvertierung von Zeichen geeignet. Bitte berücksichtigen Sie die folgenden Alternativen:

  • Convert.ToInt32(new string(foo, 1)): Diese Methode erstellt eine neue Zeichenfolge aus Zeichen und wandelt diese dann mit Convert.ToInt32 in eine Ganzzahl um.
  • int.Parse: Diese Methode funktioniert nur mit Zeichenfolgen, sodass Sie die Zeichen zuerst in eine Zeichenfolge konvertieren und diese dann in eine Ganzzahl analysieren können.

Konvertierung nativer Zeichen in Ganzzahlen:

C# bietet auch eine native Methode zum Konvertieren von Zeichen in Ganzzahlen:

<code class="language-csharp">char foo = '2';
int bar = foo - '0';</code>

Erklärung:

Diese Methode basiert auf Zeichen als interne Darstellung von Zahlen. Die Zeichen „0“ bis „9“ belegen aufeinanderfolgende Positionen in der Zahlenfolge. Durch Subtrahieren von „0“ vom Zeichenwert erhalten Sie den tatsächlichen numerischen Wert.

Im obigen Beispiel stellt foo das Zeichen „2“ dar, das einen internen Wert von 50 hat. Subtrahieren Sie 48 (den ASCII-Wert „0“), um die Ganzzahl 2 zu erhalten.

Dieser unkomplizierte Ansatz macht Zwischenkonvertierungen von Zeichenfolgen überflüssig und bietet eine direkte und effiziente Möglichkeit, C#-Zeichen in Ganzzahlen umzuwandeln.

Das obige ist der detaillierte Inhalt vonWie konvertiert man ein Zeichen effizient in sein Ganzzahläquivalent in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn