检查是否引用了linq对象

检查是否引用了linq对象,linq,object-reference,Linq,Object Reference,检查linq对象是否从其他表引用的最佳(最快)方法是什么。通常我是这样做的,但我想在较大的桌子上这样做可能会比较慢 CurrentObject.ReferencingObjects.Count != 0 这可能会更快 CurrentObject.ReferencingObjects.FirstOrDefault() != null 有更好的方法吗?如果referenceGobjects实现ICollection(考虑到它具有Count属性,它似乎是这样),第一个选项实际上可能更快,因为Cou

检查linq对象是否从其他表引用的最佳(最快)方法是什么。通常我是这样做的,但我想在较大的桌子上这样做可能会比较慢

CurrentObject.ReferencingObjects.Count != 0
这可能会更快

CurrentObject.ReferencingObjects.FirstOrDefault() != null

有更好的方法吗?

如果
referenceGobjects
实现
ICollection
(考虑到它具有
Count
属性,它似乎是这样),第一个选项实际上可能更快,因为
Count
(对于大多数实现)通常直接存储,所以这实际上只是一个直接查找字段的属性

但是,如果您使用的是
Enumerable.Count()
(方法,而不是属性),那么我首选的方法是使用:

CurrentObject.ReferencingObjects.Any();
因为
Any()
方法非常清楚地显示了您的意图,而且通常速度非常快