Heim >Backend-Entwicklung >C++ >Wie kann ich einen Charakter effizient in eine Ganzzahl in C#konvertieren?
Konvertierung von Zeichen in Ganzzahlen in C#
In C# ist char ein Unicode-Zeichen, das einen einzelnen Buchstaben, eine Zahl oder ein anderes Symbol darstellt. Das Konvertieren eines Zeichens in eine Ganzzahl mag einfach erscheinen, bestimmte Feinheiten können den Vorgang jedoch erschweren.
Wie der Fragesteller herausgefunden hat, interpretiert Convert.ToInt32() ein Zeichen als seinen Dezimalwert und gibt ein Ergebnis zurück, das nicht mit der erwarteten Zahl übereinstimmt. int.Parse() akzeptiert außerdem nur Zeichenfolgen, was das Problem noch komplizierter macht.
Native Konvertierungsmethode
Überraschenderweise gibt es in C# eine einfache native Möglichkeit, char ohne String-Manipulation in int zu konvertieren. Diese Methode besteht darin, den Zeichenwert „0“ von char:
zu subtrahieren<code class="language-csharp">char foo = '2'; int bar = foo - '0';</code>
Diese Methode funktioniert, weil jedes Zeichen intern durch eine Zahl dargestellt wird. Den Zeichen „0“ bis „9“ werden fortlaufende Nummern zugewiesen, sodass die Differenz zwischen „0“ und „2“ 2 beträgt, was die gewünschte ganze Zahl ergibt.
Diese Methode ist effizient und nativ in C#, was sie zu einer einfachen und unkomplizierten Möglichkeit macht, char in int zu konvertieren.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Charakter effizient in eine Ganzzahl in C#konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!