Проверьте, есть ли ссылка на объект linq - PullRequest
1 голос
/ 21 января 2012

Какой самый лучший (самый быстрый) способ проверить, ссылается ли на объект linq из другой таблицы. Обычно я так делаю, но думаю, что на больших столах это может быть медленно.

CurrentObject.ReferencingObjects.Count != 0

Это может быть быстрее.

CurrentObject.ReferencingObjects.FirstOrDefault() != null

Есть ли лучший способ?

1 Ответ

2 голосов
/ 21 января 2012

Если ReferencingObjects реализует ICollection<T> (что, по-видимому, учитывая, что у него есть свойство Count ), первый вариант, скорее всего, на самом деле быстрее, как Count (для большинства реализаций ) часто хранится напрямую, так что фактически это просто свойство, ищущее поле напрямую.

Если, однако, вы использовали Enumerable.Count() (метод, а не свойство), то вместо этого я бы предпочел использовать:

CurrentObject.ReferencingObjects.Any();

Поскольку метод Any() очень четко показывает ваше намерение, а также очень быстр в целом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...