我有以下强数据类型的两个列表(listA和listB):
public class TagPresenter
{
public string TagName { get; set; }
bool IsEnable { get; set; }
public string TagId { get; set; }
}
我需要在ListA中找到listB的项目时将ListA的IsEnable设置为true。这种比较应该发生在TagId上。 A具有B所具有的所有项目。所以简而言之,如果B有3个项目而A有10个,那么在这种情况下我需要在ListA中将所有这3个项目的IsEnable属性设置为true。我需要在LINQ.Kindly帮助中这样做。
答案 0 :(得分:3)
在Linq中更新非常混乱 - 使用Linq查找匹配项但使用Patient.first.hospital.appointments
foreach
答案 1 :(得分:1)
这是我的第一篇文章,所以如果我犯了一个错误,我很抱歉,对不起我的英语。
下面的代码是使用Linq更新已经加载到内存中的列表的属性:
添加Class =>
public static class LINQToObjectExtensions
{
public static void UpdateAll<T>(this IEnumerable<T> source, Action<T> action)
{
foreach (var item in source)
action(item);
}
}
后:
ListA.UpdateAll(p => p.Property = Value);
或
ListA.Where(p => p.Id = 1).UpdateAll(p => p.Property = Value);
答案 2 :(得分:0)
试试这个
var query =
from a in listA
join b in listB on a.TagId equals b.TagId
select new TagPresenter
{
TagName = a.TagName,
IsEnable = true,
TagId = a.TagId
};