Есть ли способ конвертировать Char в Int без использования чисел? - PullRequest
0 голосов
/ 05 апреля 2019

Название говорит обо всем.Я пытаюсь преобразовать char в int в visual studio.

Я уже пробовал это:

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

, но это не дает мне ничего кроме этого (от попытки понять код): 114117105

1 Ответ

1 голос
/ 05 апреля 2019

Это будет просто работать:

//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.

...