Как уже сказал, ваш реальный код должен быть хорошо: это звучит как проблема была только, что вы пытаетесь выполнить это в отладчик, а не в обычном коде. Лично я всегда склоняюсь к попытке занять слишком много места в отладчике - это может быть полезно, конечно, но если что-то ведет себя неожиданно, я всегда вижу, работает ли тот же код как часть реальной программы, а не предполагая, что в подходе есть что-то принципиально неправильное. Отладчик должен работать с довольно разными ограничениями, чем обычный процесс компиляции и выполнения.
Аналогичным образом, как говорили другие, лучше использовать Any()
, чем Count() > 0
. Тем не менее, уборщик все же использовать перегрузку Any
принимать предикат:
if (Model.Version.Any(model => model.revision > Model.revision))
{
...
}
Заметим, однако, что это не совсем так же, как ваш первоначальный предикат, который требует какой-либо версии, в которой пересмотр в разные, а не a высшее пересмотр. Вы можете:
if (Model.Version.Any(model => model.revision != Model.revision))
{
...
}
Стоит отметить, что в LINQ к объектам, используя Any
может иметь очень реальные преимущества в производительности по сравнению с использованием Count() > 0
. В провайдерах, которые преобразуют запрос в другую форму (например, SQL), может быть не производительность выгода, но есть ясность . Вы можете точно сказать, что вас интересует - вам все равно, если есть любые соответствующие предметы.
Есть ли «Версия» коллекция объектов? –
Используйте 'Any' вместо' Count()> 0'. –
@JonLaMarr да, это может быть 0 или много. –