Conversion de caractère en entier en C#
En C#, char est un caractère Unicode qui représente une seule lettre, un chiffre ou un autre symbole. Convertir un caractère en entier peut sembler simple, mais certaines subtilités peuvent compliquer le processus.
Comme l'interrogateur l'a découvert, Convert.ToInt32() interprète un caractère comme sa valeur décimale et renvoie un résultat qui ne correspond pas au nombre attendu. int.Parse() n'accepte également que les chaînes, ce qui complique encore le problème.
Méthode de conversion native
Étonnamment, il existe un moyen natif simple en C# de convertir char en int sans manipulation de chaîne. Cette méthode consiste à soustraire la valeur de caractère '0' de char :
<code class="language-csharp">char foo = '2'; int bar = foo - '0';</code>
Cette méthode fonctionne car chaque caractère est représenté en interne par un nombre. Les caractères « 0 » à « 9 » reçoivent des numéros consécutifs, donc la différence entre « 0 » et « 2 » est de 2, ce qui donne l'entier souhaité.
Cette méthode est efficace et native de C#, ce qui en fait un moyen simple et direct de convertir char en int.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!