C# - 如何将For循环转换为Linq表达式?

时间:2012-08-14 07:19:21

标签: c# linq for-loop

我有以下循环:

for (var i = 0; i < myStringList.Count; i++)
{
    myStringList[i] = myStringList[i].ToUpper();
}

进入Linq表达式?

2 个答案:

答案 0 :(得分:5)

使用此

myStringList = myStringList.Select(x => x.ToUpper()).ToList();

我最后使用.ToList()假设myStringList是List<string>

FoodforThought:List中,有一个方法ForEach()可以对每个项目执行操作。

myStringList.ForEach(x => x.Foo = Bar);

但是这里不能使用,因为该方法可用于更改项目的属性,但不能用于更改项目本身。

所以这不会做任何事情

    myStringList.ForEach(x => x = x.ToUpper());

答案 1 :(得分:4)

myStringList = myStringList.Select(x => x.ToUpper()).ToList();