C# 如何将密钥和值从一个字典复制/传输到另一个新字典/列表?

C# 如何将密钥和值从一个字典复制/传输到另一个新字典/列表?,c#,list,dictionary,grouping,keyvaluepair,C#,List,Dictionary,Grouping,Keyvaluepair,我是键值操作的初学者。 我目前有两个字典。第一个字典带有原始键和值 var firstDict = new Dictionary<string, int>(); var firstDict=newdictionary(); 键:a,值:1 键:b,值:2 键:c,值:1 键:d,值:3 键:e,值:5 键:f,值:1 键:g,值:4 键:h,值:2 键:i,值:1 键:j,值:2 下面是我的第二本字典 Dictionary<int, string> secondD

我是键值操作的初学者。 我目前有两个字典。第一个字典带有原始键和值

var firstDict = new Dictionary<string, int>();
var firstDict=newdictionary();
  • 键:a,值:1
  • 键:b,值:2
  • 键:c,值:1
  • 键:d,值:3
  • 键:e,值:5
  • 键:f,值:1
  • 键:g,值:4
  • 键:h,值:2
  • 键:i,值:1
  • 键:j,值:2
下面是我的第二本字典

Dictionary<int, string> secondDict = firstDict
         .GroupBy(k => k.Value)
         .ToDictionary(g => g.Key, g => string.Join(",", g.Select(k => k.Key)));
Dictionary secondDict=firstDict
.GroupBy(k=>k.Value)
.ToDictionary(g=>g.Key,g=>string.Join(“,”,g.Select(k=>k.Key));
这是第二本词典打印的内容

  • 1:值:a、c、f、i
  • 2:值:b、h、j..
因此,我现在想做的是将每个键值从第二个字典中分离出来并创建动态字典/列表来存储它们,如果它们满足某些条件
if(kv.value>3){存储在新字典中}

键1

a、 c,f,i

键2

b、 h,j

第三项


我可以知道是否有办法做到这一点吗?

如果我理解您的观点,您可以使用Where来过滤数据:

Dictionary<int, string> secondDict = firstDict.Where(x => x.Value > 3)
.GroupBy(k => k.Value)
.ToDictionary(g => g.Key, g => string.Join(",", g.Select(k => k.Key)));
Dictionary secondDict=firstDict.Where(x=>x.Value>3)
.GroupBy(k=>k.Value)
.ToDictionary(g=>g.Key,g=>string.Join(“,”,g.Select(k=>k.Key));
更新 第三本词典:

Dictionary<int, string> thirdDict = secondDict
.Where(x => x.Value.Split(',').Length > 2 && x.Value.Split(',').Length <= 4)
.ToDictionary(g => g.Key, g => g.Value);
Dictionary thirdDict=secondDict
其中(x=>x.Value.Split(',')。长度>2&&x.Value.Split(',')。长度g.Key,g=>g.Value);

我尝试了此操作,但错误是CS0019运算符“>”无法应用于“string”和“int”类型的操作数,然后尝试解析但仍然无法成功运行您希望比较什么?从第二个字典中,我想检查字符串的总计数。如果count>2&&count,我将使用第三个字典的新解决方案更新答案