这段代码返回整数49
IEnumerable<int> numbersList = numbers.Select(x => Convert.ToInt32(x));
int sum = numbersList.Sum();
变量"numbers"是一个字符串,其值为1。
如果我使用:
numbers.Split(',').Select(x => Convert.ToInt32(x));
然后我得到了正确的答案。我知道split返回一个字符串数组,因此我使用了一个带有单个值1的字符串数组,而不是拆分,这也起作用。
string[] sa = new string[] { "1" }
我的问题是,有人知道为什么在字符串上使用select返回错误的值吗?
谢谢。
1
转换为整数,该整数在 ASCII 表中为 49。 - Ulugbek Umirovnumbers
变量是一个字符串,其值为 1。 - RawlingConvert.ToInt32
变成了Convert.ToInt32('1')
==Convert.ToInt32(49)
==49
- flindeberg