有没有办法在不使用数字的情况下将Char转换为Int?

时间:2019-04-05 11:31:04

标签: c# char int

标题说明了一切。我正在尝试在Visual Studio中将char转换为int。

我已经尝试过:

int a;
a = (int)x;
System.Console.WriteLine(a);

,但是除了这个(试图理解代码)之外,它什么也没有给我: 114117105

1 个答案:

答案 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

您现在已经了解了; stringarray中的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