【发布时间】:2011-08-18 00:32:51
【问题描述】:
例如:
Dictionary<string, Func<T1, T2, bool>> comparisons;
comparisons.add("<", (x, y) => x < y);
comparisons.add("==", (x, y) => x == y);
comparisons.add(">", (x, y) => x > y);
在这一点上,我对 C# lambda 和多类型泛型容器的了解还不够,无法正确地将它们组合在一起。这甚至可能吗?
【问题讨论】:
-
查看
Predicate代表。 -
你真的想要泛型类型
T1和T2吗?你永远无法比较那些...... -
@jeroenh 是的,我想让它尽可能通用。部分吸引力在于使这个块如此简洁。 Guffa 的答案看起来像是通过用 IComparable 替换 T1 和 T2 并使用 CompareTo() 方法来解决这个问题。
标签: c# .net collections dictionary lambda