更改字典中信息中的列表元素
本文关键字:列表元素 信息 字典 | 更新日期: 2023-09-27 18:21:33
我有一本字典
Dictionary<string,int> infoDic
和一个列表
List<Info> infoList
Info对象有两个属性:InfoText和InfoInt
我想检查infoList是否有Info.InfoText等于infoDic.Key的Info对象如果是这样的话,我想将Info.InfoInt实例化为infoDic.Value
编辑
var test= from t in infoList
join x in infoDic
on t.InfoText equals x.Key
select new Info {InfoText =t.InfoText , InfoInt=x.Value }
有什么帮助吗?Ty
// IEnumerable<Info>
var items = infoList.Where(i => infoDic.ContainsKey(i.InfoText))
.Select(e => new Info
{
InfoInt = infoDic[e.InfoText],
InfoText = e.InfoText
});
我想检查infoList是否有任何Info.InfoText所在的Info对象等于infoDic.Key
可能是这样的:
var ifAny = infoList.Any(info=>infoDic.ContainsKey(info.InfoText);
bool contains = infoList.Any(i => infoDic.ContainsKey(i.InfoText));
但因为你的第二个要求:
Info info = infoList.FirstOrDefault(i => infoDic.ContainsKey(i.InfoText));
if(info != null)
{
infoDic[info.InfoText] = info.InfoInt;
//or the other way around(it's not that clear)
info.InfoInt = infoDic[info.InfoText];
}