标题说明了一切。我正在尝试在Visual Studio中将char转换为int。
我已经尝试过:
int a;
a = (int)x;
System.Console.WriteLine(a);
,但是除了这个(试图理解代码)之外,它什么也没有给我: 114117105
答案 0 :(得分:1)
这将起作用:
//a char is a 16-bit numerical value
//usually used for the representation of characters
//here I assign 'a' to it; keep in mind; 'a' has also a numeric representation
//i.e.: 97
char x = 'a';
int a;
//the `int a` is an integer and, through a cast, receives the numeric value
//besides the bit-width (debatable) the data contents are the same.
//If we assign it to an `int` only the "purpose" c.q. representation will change
a = (int)x;
//since we put in an `int` a number will be shown (because of it's purpose)
//if we put in x, then `a` will be shown.
System.Console.WriteLine(a);
输出
97
您现在已经了解了; string
是array
中的char
。
因此,字符串很难用单个数字表示,因为它是二维的。
这与说相同,将0,4,43434,878728,3477,3.14159265
转换为一个数字。
https://dotnetfiddle.net/qSYUdP
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/char
为什么a
的输出是97
;您可以在字符表中查找它,例如:ascii。
请注意,输出的实际字符取决于所选的字体/字符表。对于大多数字体,都实现了ASCII,但不能保证。因此,97
不会总是产生a
。