作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
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 并手动获取不同的。)
最佳答案
自 Pad
是 Dictionary
, 你需要一个 IEqualityComparer<KeyValuePair<WorkItem, Canvas>>
.
所以,基本上,您要传递给 Distinct
的比较器的类型参数不够。 :(
所以你是对的,根据提供的代码,它看起来像 LambdaComparer
不是问题。您只需要以不同方式定义“比较器”变量。
关于c# - 与自定义比较器不同会给出 vauge 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119400/
我有以下代码: IEqualityComparer comparer = new LambdaComparer((item1, item2) => item1.Type == item2.T
我将 PayFlow 与 Layout C 结合使用,它使用 iFrame 来嵌入付款表单。我已按照此处的说明进行测试:https://developer.paypal.com/docs/classi
我是一名优秀的程序员,十分优秀!