如果我有一个非空的
HashSet<T> items
,是否有任何快捷方式可以替代以下两行代码:T item = items.First(); // this can be any item, it does not have to be the first one
items.Remove(item);
我认为T item = items.Pop()
是一个合适的函数,但它并不存在。
我知道,两行代码或编写扩展方法并没有什么大不了的,但我有点期望有一个内置的Pop()
函数,它不依赖于First()
。
编辑:
由于First()
存在一些混淆:我绝对不关心从HashSet
中弹出哪个项目,因此items.Last()
也可以满足我的需求。
关于使用First()
的这种混淆是我所苦恼的:即使我已经进行了注释,读取代码也会导致假设必须使用First()
(实际上不必如此)。
因此,我想知道是否有一种适当的方式,可以从HashSet
中获取一些项目,并将其用于进一步使用,并且不会给人留下必须选择第一个或最后一个或任何项目的印象,而应该明确任何项目都可以在此时选择。
First()
,则使用ElementAt(0)
也是有同样的意义的。 - mrogal.ski