我们如何在C#中使用LINQ更新集合的值?
如果集合是List,则可以使用LINQ中可用的ForEach扩展方法。
示例
using System;
using System.Collections.Generic;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
List<Fruit> fruits = new List<Fruit> {
new Fruit {
Name = "Apple",
Size = "Small"
},
new Fruit {
Name = "Orange",
Size = "Small"
}
};
foreach(var fruit in fruits) {
Console.WriteLine($"Fruit Details Before Update. {fruit.Name}, {fruit.Size}");
}
fruits.ForEach(fruit => { fruit.Size = "Large"; });
foreach (var fruit in fruits) {
Console.WriteLine($"Fruit Details After Update. {fruit.Name}, {fruit.Size}");
}
Console.ReadLine();
}
}
public class Fruit {
public string Name { get; set; }
public string Size { get; set; }
}
}输出结果
上面代码的输出是
Fruit Details Before Update. Apple, Small Fruit Details Before Update. Orange, Small Fruit Details After Update. Apple, Large Fruit Details After Update. Orange, Large
如果要基于条件更新列表项,则可以使用Where()子句。
示例
using System;
using System.Collections.Generic;
using System.Linq;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
IEnumerable<Fruit> fruits = new List<Fruit> {
new Fruit {
Name = "Apple",
Size = "Small"
},
new Fruit {
Name = "Orange",
Size = "Small"
},
new Fruit {
Name = "Mango",
Size = "Medium"
}
};
foreach(var fruit in fruits) {
Console.WriteLine($"Fruit Details Before Update. {fruit.Name}, {fruit.Size}");
}
foreach (var fruit in fruits.Where(w => w.Size == "Small")) {
fruit.Size = "Large";
}
foreach (var fruit in fruits) {
Console.WriteLine($"Fruit Details After Update. {fruit.Name}, {fruit.Size}");
}
Console.ReadLine();
}
}
public class Fruit {
public string Name { get; set; }
public string Size { get; set; }
}
}输出结果
上面代码的输出是
Fruit Details Before Update. Apple, Small Fruit Details Before Update. Orange, Small Fruit Details Before Update. Mango, Medium Fruit Details After Update. Apple, Large Fruit Details After Update. Orange, Large Fruit Details After Update. Mango, Medium
在上面,我们仅过滤尺寸较小的水果并更新值。因此,where子句根据条件过滤记录。
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短