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,我将使用第三个字典的新解决方案更新答案