如何使用LINQ来.toupper()()数组中的每个元素
本文关键字:元素 数组 toupper 何使用 LINQ | 更新日期: 2023-09-27 18:03:17
我有这样的LINQ表达式:
string[] x = originalString.Split(',').ToList().ForEach(y => y.Substring(0,1).ToUpper());
我得到这个错误信息:
Cannot convert source type 'void' to target type 'string[]'
我想我得到了错误;ForEach函数返回void。我不知道如何修复它,仍然保持这是一个LINQ表达式。
我如何分割originalString
,然后循环数组中的元素,在每个元素上应用.ToUpper()
,并在LINQ表达式中完成这一切?
string[] x = originalString.Split(',')
.Select(y => y.Substring(0,1).ToUpper())
.ToArray();
应该做的事-得到每个单词的第一个字母,大写。
但我认为你真正想要的是:
string[] x = originalString.Split(',')
.Select(y => y.Substring(0, 1).ToUpper() + y.Substring(1))
.ToArray();
应该大写从输入中分离出来的元素(听起来更有用)。
第二个查询的用法示例: string originalString = "TestWord,another,Test,word,World,Any";
输出:TestWord
Another
Test
Word
World
Any
使用投影:
string[] x = originalString.Split(',')
.Select(y => y.Substring(0,1).ToUpper()).ToArray();