Получение количества объектов в пространстве модели

Автор Тема: Получение количества объектов в пространстве модели  (Прочитано 5958 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LemieuxАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 379
  • Карма: 21
что var - это зло
Что интересно, Microsoft в своих примерах использует var.
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries
На счёт foreach. Иногда лучше использовать linq, а иногда foreach. Но это на основании анализа своего кода в течении суток и переписывании части строк на linq, так что просьба не пинать  ;D

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 533
  • Карма: 117
foreach не только короче писать, он в 100500 раз проще и понятней. И быстрее в разы. В нем вообще не создается никаких коллекций, не выделяется памяти только для того, чтоб потом пересчитать количество еще одним циклом. В нем можно выполнить всю работу за 1 цикл. В нем можно прервать итерации как только ясен результат. И т.д. и т.п. Нравятся извращения - да ради бога. Но не надо ж это пихать новичкам как полезную фичу.
p.s. Извиняюсь за эмоциональность. Карантин...

Если уж у тебя коллекция создается, несколько циклов и работает в разы медленнее, то тут точно карантин поработал))))))
Ну ладно хоть прервать цикл можно, хоть что-то правда, поставлю плюсик для здоровья))))))

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
И быстрее в разы.
Спорно. Скорее наоборот. Насколько мне известно, foreach вообще аутсайдер по производительности в циклах .NET. Например, тут п.6. Не истина в последней инстанции, но есть такое мнение и оно довольно резонное. Если поискать, можно найти разные тесты по замеру производительности на разных типах циклов. В общем, про "разы быстрее" - это бабка надвое сказала.
var - это зло
Опять спорно. Я не являюсь большим сторонником его использования, но злом его также не считаю. Есть в его использовании удобства и плюсы.
На счёт foreach. Иногда лучше использовать linq, а иногда foreach.
Вот с этим согласен.