从对象列表返回更新的对象值

时间:2013-07-05 06:57:09

标签: c# linq linq-to-objects

嗨我有一个对象列表,如果条件与对象匹配,我想返回更新的对象。 下面是我试过的代码。这是行不通的。 它只是返回我发现的更新匹配。 我希望这些值也与列表中的键值不匹配而不进行更新。 我们可以这样做吗?

var bindingData = dataSource.Where(x => filesFoundDictionary.Any(y => y.Key == x.FileName)).Select(x => { x.Select = true; return x; }).ToList();

1 个答案:

答案 0 :(得分:2)

您不应该使用Where并将您的条件改为Select语句:

var bindingData = dataSource
    .Select(x =>
    {
        if(filesFoundDictionary.ContainsKey(s.FileName)) 
            x.Select = true;
        return x;
    }).ToList();