c# – LINQ使用字符串上的Select返回奇怪的值
发布时间:2020-12-16 00:24:24 所属栏目:百科 来源:网络整理
导读:此代码返回int 49 IEnumerableint numbersList = numbers.Select(x = Convert.ToInt32(x));int sum = numbersList.Sum(); numbers变量是一个值为1的字符串. 如果我使用 numbers.Split(',').Select(x = Convert.ToInt32(x)); 然后我得到了正确的答案.我知道sp
此代码返回int 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" } 我的问题是有谁知道为什么使用字符串上的选择返回错误的值? 谢谢. 解决方法
使用数字时.选择()将字符串视为集合.它是一个集合,但不是子串的集合,而是一组字符.
你得到的结果就像数字是一个字符数组,即{‘1’}. Convert.ToInt32(‘1’)的结果是’1’的字符代码,即49. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |