IList<Item> items = new List<Item>();
items.Add(new Item
{
tag = "{" + Ann + "}",
value = "Anny"
});
items.Add(new Item
{
tag = "{" + John + "}",
value = "Johnny"
});
如何使用Linq选择带有{John}的标签并将值替换为“Jane”?
答案 0 :(得分:0)
LINQ,顾名思义,更多的是查询工具。因此,您可以使用LINQ从集合中获取要修改的特定项目,但修改本身超出了LINQ范围。
假设您的条件总是最多匹配一次,您可以执行以下操作:
var john = items.FirstOrDefault(o => o.tag == "{John}");
if(john != null)
{
john.value = "Jane";
}
否则,您可以使用LINQ Where(o => o.tag == "{John}")
来获取要修改的目标项。但是,您需要遍历结果以实际更新每个匹配项的值。
答案 1 :(得分:0)
items.Where(o => o.tag == "{"+John+"}").ToList().ForEach(item =>{
item.value = "Jane";
});