gpt4 book ai didi

c# - 与自定义比较器不同会给出 vauge 错误

转载 作者:行者123 更新时间:2023-11-30 18:09:55 24 4
gpt4 key购买 nike

我有以下代码:

IEqualityComparer<WorkItem> comparer = 
new LambdaComparer<WorkItem>((item1, item2) => item1.Type == item2.Type);

var someVar = Pad.Distinct(comparer);

(想法是每种类型各拿一个)
它给出了以下错误信息:

The type arguments for method 'System.Linq.Enumerable.Distinct(System.Collections.Generic.IEnumerable, System.Collections.Generic.IEqualityComparer)' cannot be inferred from the usage. Try specifying the type arguments explicitly.   490

I have done something similar and it works just fine:

Pad = new Dictionary<WorkItem, Canvas>(new LambdaComparer<WorkItem>((x, y) => x.Id == y.Id, x => x.Id));

所以我不认为这是我的 LamdaComparer 类。

关于如何解决这个问题的任何想法? (我想我可以只做一个 ForEach 并手动获取不同的。)

最佳答案

PadDictionary , 你需要一个 IEqualityComparer<KeyValuePair<WorkItem, Canvas>> .

所以,基本上,您要传递给 Distinct 的比较器的类型参数不够。 :(

所以你是对的,根据提供的代码,它看起来像 LambdaComparer不是问题。您只需要以不同方式定义“比较器”变量。

关于c# - 与自定义比较器不同会给出 vauge 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com