我有一些IEnumberable
物品收藏。我用来.Single()
在集合中查找特定对象。
我选择使用Single()
是因为应该只有一个特定的项目。但是,如果一个不存在,那么我需要创建它并将其添加到集合中。
我的问题是,Single()
如果没有与谓词匹配的项目或有多个项目,则会引发相同的错误。我的想法是将Single()
调用放在 try 中并捕获异常,添加项目,然后继续。但是,由于这两种情况都会抛出InvalidOperationException
,我如何判断它是由于没有项目还是由于多个项目?
我知道我可以使用First()
,但这并不能强制认为应该只有一个(无需做额外的工作)。
我也可以Count()
在Single()
通话前使用,但这似乎破坏了Single()