📜  使用 LINQ 更新集合中的更改值 (1)

📅  最后修改于: 2023-12-03 15:36:31.801000             🧑  作者: Mango

使用 LINQ 更新集合中的更改值

在 C# 编程中,LINQ 是一个强大的工具,用于查询和更新集合中的数据。如果需要更改一个集合中的一些值,可以使用 LINQ 查询进行更新。

更新单个项

以下是更新集合中单个项的代码。假设我们有一个名为“people”的 List 集合,其中每个人有一个唯一的 ID 属性。

int personId = 2;
string newName = "Jane Smith";

Person personToUpdate = people.Single(p => p.Id == personId);
personToUpdate.Name = newName;

在这个例子中,首先使用 Single() 方法获取要更新的 Person 对象。Single() 方法基于给定的条件返回集合中单个对象。在这个例子中,我们使用 ID 属性查找 Person 对象。一旦找到要更新的对象,就可以更改其属性值。

更新多个项

有时候需要更改集合中多个项目的值。在这种情况下,可以使用 LINQ 的批量更新功能。以下是一个批量更新示例,演示如何将所有“John Doe”人的名称更改为“Jane Smith”:

string oldName = "John Doe";
string newName = "Jane Smith";

var peopleToUpdate = people.Where(p => p.Name == oldName);
foreach (var person in peopleToUpdate)
{
    person.Name = newName;
}

在这个例子中,通过 Where() 方法获取所有具有特定名称的 Person 对象。然后,使用 foreach 循环将每个对象的名称更改为新值。

结论

通过 LINQ 查询,可以轻松地更新集合中的单个或多个项。请注意,这种更新可能会改变原始集合,因此在更新之前最好创建一个副本。