【发布时间】:2013-07-09 15:27:34
【问题描述】:
我有一个很大的名称/值对列表,并且需要能够找到此列表中是否存在特定名称...如果存在则更新该值,如果不存在则创建一个新的名称/值对和将其附加到我的列表中。
执行此操作的 Lambda 语法是什么?
我尝试使用 .Where .DefaultIfEmpty 但它只返回一个空对象,但不会将其附加到我原来的“myList”
myList.Where(x => x.Name == 'some name').DefaultIfEmpty(new myobj(){ Name = 'some name').First().Value = 'some value';
我必须做这四个多个名称,所以如果我有一个简单的语法会使它很棒 =)
【问题讨论】:
-
我猜您在代码中缺少 myList.Add() - myList.Where(x => x.Name == 'some name').DefaultIfEmpty(() => { myList.Add(new myobj(){ Name = 'some name').First().Value = 'some value'})};);