![](/img/trans.png)
[英]How do I convert the contents of a char array to their corresponding integer values in C#?
[英]Getting different values from convert char to integer
當我顯示 'i' 變量時,這將是一個 char 值
{
class Program {
static void Main(string[] args) {
var max = 0;
var lista = new char[] {
'1',
'2',
'3',
'4'
};
foreach(char i in lista) {
Console.WriteLine(i);
/* var hola = Convert.ToInt32(i);
Console.WriteLine(hola);*/
}
}
}
}
我明白了:
> 1 2 3 4
但是,當將 'i' 轉換為 int
var max = 0;
var lista = new char[] {
'1',
'2',
'3',
'4'
};
foreach(char i in lista) {
var hola = Convert.ToInt32(i);
Console.WriteLine(hola);
}
我明白了:
49 50 51 52
知道可能是什么問題嗎? 我想獲得相同的值,所以我可以將它們評估為整數並獲得其中最大的值,但我不能。
當您將char
轉換為int
時,您將獲得該字符的 ASCII 值。 這些值的巧妙之處在於它們是連續的,因此如果減去'0'
的值(0字符),您可以將表示數字的字符轉換為該數字:
var hola = i - '0';
如果您想要文字字符而不是字符的 ascii 編號,請使用ToString()
方法
var hola = Convert.ToInt32(i.ToString());
WriteLine 方法在內部轉換參數字符串。 因此,您可以擁有您想要的價值。 ToInt 方法返回該字符的 ASCII 值。 您必須將您的 i 值轉換為字符串i.ToString()
或者您可以簡單地從轉換后的值中減去 48。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.