在C#中如何将char数组内的元素转换为对应的整数值
解决方案
你之前使用单个myInt变量存储转换结果,每次循环的赋值都会覆盖上一次的结果,自然只能保留最后一次的转换值。你尝试的charArray[count] = ...写法是修改原字符数组的元素,不符合存储整数转换结果的需求,你需要额外声明一个和字符数组长度一致的整数数组来接收每个位置的转换值。
循环实现代码
// 读取用户输入 string userInput = Console.ReadLine(); char[] charArray = userInput.ToCharArray(); // 初始化长度与字符数组一致的整数数组 int[] intArray = new int[charArray.Length]; // 遍历完成字符到整数的转换与存储 for (int count = 0; count < charArray.Length; count++) { // C#中char类型可隐式转换为对应ASCII整数值,直接赋值到整数数组的对应索引即可 intArray[count] = charArray[count]; }
当你输入"Hello World"时,上述代码得到的intArray就是你预期的{72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100}。
简洁写法(LINQ)
如果你不想手动写循环,也可以用LINQ的方法快速完成转换:
int[] intArray = userInput.Select(c => (int)c).ToArray();
内容的提问来源于stack exchange,提问作者user17138068
相关产品推荐
相关产品推荐

