Mabby这是个愚蠢的问题,但我如何将int类型的数字转换为char类型的数字呢?
标准转换操作并不是这样做的:
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'我需要这样做,因为我有一个返回IEnumerable of Char的方法,并且需要以某种方式返回一个ints集合。
例如:
int[] {1, 2, 3} 转换成
char[] {'1', '2', '3'} 在C#中可以进行这样的转换吗?
发布于 2013-08-31 19:43:13
将48添加到您的int值,然后再转换为char
char c = (char)(i + 48);或用于int[] -> char[]转换:
var source = new int[] { 1, 2, 3 };
var results = source.Select(i => (char)(i + 48)).ToArray();它可以工作,因为'0'字符在ASCII表中具有48值。但是,只有在int值介于0和9之间时,它才能工作。
发布于 2013-08-31 19:41:43
var yourInts = new int[]{1,2,3};
var result = yourInts.Select(x=>x.ToString()[0]).ToArray();发布于 2021-06-03 23:39:01
这应该有效:(char) (i + '0')
例如: var i= 8;var c= (char) (i +‘0’);//给予'8‘
https://stackoverflow.com/questions/18552083
复制相似问题