更改字典中信息中的列表元素

本文关键字:列表元素 信息 字典 | 更新日期: 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];
}