我无法在C#中将字符串正确转换为Int

Cod*_*ver 0 c# string int type-conversion

类型转换未按预期运行

我解决了问题,但仍然会发生

string a = "123";

int i = Convert.ToInt32(a[0]);

Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)

我期望结果为1,但得到49。我无法想象如何。

Dan*_*ite 7

当您执行索引器时,a[0]将得到char其for 1字符代码为49。Convert.ToInt32(a[0].ToString())从结果中减去或减去48而是得到数字表示。