I have the following loop:
for (var i = 0; i < myStringList.Count; i++)
{
myStringList[i] = myStringList[i].ToUpper();
}
如何将其转换为Linq表达式?
I have the following loop:
for (var i = 0; i < myStringList.Count; i++)
{
myStringList[i] = myStringList[i].ToUpper();
}
如何将其转换为Linq表达式?
myStringList = myStringList.Select(x => x.ToUpper()).ToList();
我使用了.ToList()
,假设myStringList是一个List<string>
。
思考:List
中有一个方法ForEach()
,它可以对每个项执行以下操作。
myStringList.ForEach(x => x.Foo = Bar);
但是这种方法不能用于此处,因为该方法可以用于更改项目的属性,但不能用于更改项目本身。
因此,这将不起作用。
myStringList.ForEach(x => x = x.ToUpper());
myStringList = myStringList.Select(x => x.ToUpper()).ToList();