c#为什么返回49:Convert.ToInt32('1')

ven*_*ent 9 c#

可能重复:
c#将char转换为int

这有效:

int val = Convert.ToInt32("1");
Run Code Online (Sandbox Code Playgroud)

但这不是:

int val = Convert.ToInt32('1'); // returns 49
Run Code Online (Sandbox Code Playgroud)

这不应该转换为实际的int吗?

Sac*_*hag 16

它返回字符1的ASCII值

第一个语句将参数视为字符串并将值转换为Int,第二个语句将参数视为char并返回其ascii值