![]() |
1
13
没有像这样的内置类
如果你需要这个,我建议你自己滚。我不建议子类化
|
![]() |
2
7
为HashSet编写一个扩展方法怎么样。这可能是最容易做到的事情。
|
![]() |
3
3
当你在这个问题上加上
|
![]() |
4
2
当然有点笨拙,但在你能想出自己喜欢的收藏类型之前,这可能是一个可靠的解决办法。 |
![]() |
5
1
我不知道有任何.NET集合会这样做,因为根据传递的类型,null实际上是一个有效的条目,因此,添加是成功的。 我最有可能从System.Collections.ObjectModel.Collection类开始,以实现您自己的滚动。 |
![]() |
6
1
即使您设法阻止添加空条目,您也无法阻止集合中存在空条目-至少不能通过
随便吃
|
![]() |
7
0
|
![]() |
8
0
在任何情况下,都可以使用.NET4.0中的代码契约来防止
}
|
![]() |
9
0
正如其他人所回答的,没有一个Set类不允许空值。话虽如此,我将分享我在一些情况下使用的一个简单解决方案。在我的例子中,我正在设计接受HashSet参数的方法,因为我需要确保获得唯一的对象。我不希望集合中可能存在null,也不希望每次枚举项并对其执行操作时都检查null。我的解决方案是简单地调用remove null,以防出现null。
|
![]() |
10
-1
你得自己滚。如果您希望Add返回bool(无论该项是否为非null并因此添加或反向添加),那么您必须从头开始。我可能建议从列表继承并抛出异常。我的意思是,如果您真的不想添加null,那么异常可能是最好的方法,而且肯定会更容易。 |
![]() |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
![]() |
milczi · Swift通用无强制展开向下投射 6 年前 |
![]() |
bugs · Typescript-泛型类型扩展自身 6 年前 |
![]() |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
![]() |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
![]() |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |