如何使用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表达式中完成这一切?

如何使用LINQ来.toupper()()数组中的每个元素

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();