Ale*_*voi 0 c# type-conversion
Mabby这是一个愚蠢的问题,但我如何将int类型的数字转换为char类型的数字?
标准转换OP不会这样做:
int x = 5;
char myChar = Convert.ToChar(5); // myChar is now a unicode character
char secondChar = (char)x; // again I get a unicode character, not a digit '5'
Run Code Online (Sandbox Code Playgroud)
我需要这个,因为我有一个返回IEnumerable的方法,Char我需要以ints某种方式返回一个集合.
例如:
int[] {1, 2, 3}
Run Code Online (Sandbox Code Playgroud)
转换成
char[] {'1', '2', '3'}
Run Code Online (Sandbox Code Playgroud)
是否可以在C#中进行这样的转换?
在转换为:之前添加48到您的int值char:
char c = (char)(i + 48);
Run Code Online (Sandbox Code Playgroud)
或者int[]- > char[]转换:
var source = new int[] { 1, 2, 3 };
var results = source.Select(i => (char)(i + 48)).ToArray();
Run Code Online (Sandbox Code Playgroud)
它的工作原理,因为'0'字符的ASCII表中有48值.但只有当你的int价值观在0和之间时它才有用9.