猿问

在C#中将char转换为int

在C#中将char转换为int

我在c#中有一个char:

char foo = '2';

现在我想把2变成一个int。我发现Convert.ToInt32返回char的实际十进制值而不是数字2.以下将起作用:

int bar = Convert.ToInt32(new string(foo, 1));

int.parse也适用于字符串。

C#中没有本地函数从char到int而不是字符串吗?我知道这是微不足道的,但似乎很奇怪,直接进行转换没有任何原生的东西。


慕慕森
浏览 2952回答 3
3回答

心有法竹

这会将它转换为int:char foo = '2';int bar = foo - '0';这是有效的,因为每个字符在内部由数字表示。字符“0”到“9”由连续数字表示,因此找到字符“0”和“2”之间的差异会得到数字2。

慕姐4208626

有没有人考虑使用int.Parse()和int.TryParse()喜欢这个int bar = int.Parse(foo.ToString());甚至更好int bar;if (!int.TryParse(foo.ToString(), out bar)){     //Do something to correct the problem}它更安全,更不容易出错
随时随地看视频慕课网APP
我要回答