Join two dictionaries using a common key

前端 未结 4 1004
广开言路
广开言路 2021-02-09 23:28

I am trying to join two Dictionary collections together based on a common lookup value.

var idList = new Dictionary();
idList.Add(1, 1);
idList.A         


        
4条回答
  •  天涯浪人
    2021-02-09 23:53

    from id in idList.Keys
    where lookupList.ContainsKey(id)
    let value1 = idList[id]
    let value2 = lookupList[id]
    select new {id, value1, value2}
    

    Or, more classically

    from kvp1 in idList
    join kvp2 in lookupList on kvp1.Key equals kvp2.Key
    select new {key = kvp1.Key, value1 = kvp1.Value, value2 = kvp2.Value}
    

    The mistake in your query is one of scoping:

    from a in theAs
    join b in theBs on (leftside) equals (rightside)
    

    a is in scope in the leftside area. b is in scope in the rightside area.

提交回复
热议问题