Penukaran aksara kepada integer dalam C#
Dalam C#, char ialah aksara Unicode yang mewakili satu huruf, nombor atau simbol lain. Menukar char kepada integer mungkin kelihatan mudah, tetapi kehalusan tertentu boleh merumitkan proses.
Seperti yang ditemui oleh penyoal, Convert.ToInt32() mentafsirkan aksara sebagai nilai perpuluhannya dan mengembalikan hasil yang tidak sepadan dengan nombor yang dijangkakan. int.Parse() juga hanya menerima rentetan, merumitkan lagi isu.
Kaedah penukaran asli
Anehnya, terdapat cara asli yang mudah dalam C# untuk menukar char kepada int tanpa manipulasi rentetan. Kaedah ini terdiri daripada menolak nilai aksara '0' daripada aksara:
<code class="language-csharp">char foo = '2'; int bar = foo - '0';</code>
Kaedah ini berfungsi kerana setiap aksara diwakili secara dalaman oleh nombor. Aksara '0' hingga '9' diberikan nombor berturut-turut, jadi perbezaan antara '0' dan '2' ialah 2, memberikan integer yang diingini.
Kaedah ini cekap dan asli kepada C#, menjadikannya cara yang mudah dan mudah untuk menukar char kepada int.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar aksara kepada integer dengan cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!