我想用linq编写查询,它通过字典键创建组,并找到组合键值和等于零
List<Tuple<string, int>> refe = new List<Tuple<string, int>>();
refe.Add("aa", 100);
refe.Add("aa", -100);
refe.Add("bb", 10);
refe.Add("bb", -10);
refe.Add("cc", 29);
refe.Add("dd", 49);
将结果“aa”,“bb”
答案 0 :(得分:1)
你是一个幸运的家伙。 ; - )
今天早上我写了这个片段
public static List<T> ToDictionaryCount<T>(this List<Tuple<T, int>> list)
{
if (list == null)
throw new ArgumentNullException("list");
var result = list
.GroupBy(tuple => tuple.Item1)
.Where(g => g.Sum(tuple => tuple.Item2) == 0)
.Select(tuples => tuples.Key)
.ToList();;
return result;
}
希望这对你有所帮助。
编辑:感谢詹姆斯的评论; - )