Это будет просто работать:
//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
.