c# - 使用 LINQ 有条件地更新列表

标签 c# linq list

我有一个 list

List<Myclass> li = new List<Myclass>();

Myclass 在哪里

class Myclass
{
public string name {get;set;}
public decimal age {get;set;}
}

li 中的项目看起来像

enter image description here

 i want to update `li` according to name but with `LINQ` like

li.where(w=> w.name = "di") = li.Where(w => w.name =="di").select(s => {s.age = 10;return s;}).Tolist();
li.where(w=> w.name = "marks") = li.Where(w => w.name =="marks").select(s => {s.age = 20;return s;}).Tolist();
li.where(w=> w.name = "grade") = li.Where(w => w.name =="grade").select(s => {s.age = 10;return s;}).Tolist();

想要这样的结果

enter image description here

我的代码出错了,请问我是怎么做到的

最佳答案

更干净的方法是使用 foreach

foreach(var item in li.Where(w => w.name =="di"))
{
   item.age=10;
}

关于c# - 使用 LINQ 有条件地更新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930450/

相关文章:

c# - 定时器 c# 上的单输出

c# - .NET 中带有 KMS 的 AWS S3 客户端加密在最后一部分传输时发出 ProtocolViolationException

c# - 我可以将 StretchDirection 添加到 VisualBrush 吗?

c# - 工作 Linq 查询但性能低

.net - 使用 Func<> 提高代码可读性的机会

C++ - 静态列表,当满时从头部弹出节点

c# - 这些操作码是做什么用的?

c# - 如何检查用户的输入是否存在于数据库表中?

list - Haskell 列表生成器

python - 在 python 中创建新的列表对象