【发布时间】:2019-12-17 09:35:35
【问题描述】:
我们可以覆盖现有类的任何操作(例如:'+')? 我想要覆盖 + 操作以合并 2 HashSet 并删除重复值。
在这种情况下,我想为 HashSet 覆盖 + 操作,但我不知道如何为现有类实现 + 操作。 互联网上的所有教程都为一个新类实现了运算符。给定SetHash的泛型类型,如何进行+操作?
我创建了一个类来实现 + 运算符:
public static HashSet<T> operator +(HashSet<T> left, HashSet<T> right) where T : class
{
return left.Union(right);
}
但不起作用并给出许多错误(23 个错误)。其中一些是:
.operator +(HashSet, HashSet)' 必须声明一个主体,因为它没有标记为抽象、外部或部分
我想我可以用扩展方法解决这个问题,但我不确定
【问题讨论】:
标签: c# operator-overloading hashset