Как стать автором
Обновить

Комментарии 10

while (_enumerator.MoveNext())
      {
        current = _selector(_enumerator.Current);
        return true;
      }


Странно, в теле цикла «while» выполняется выход из функции без какого-либо условия. Возможно, в коде присутствует ошибка.


Так иногда пишут… сам так делаю иногда. Это вариант проверки на непустое множество.
Странно, что тут _emumerator не закрывается, что может привести к утечке ресурсов. Но надо сам код смотреть, возможно он получен из списка или ещё чего-то такон
Я не пойму, if-то чем не устроил? Зачем тут while?
Говнокод какой-то на первый взгляд/

И если вы так пишите — это не оправдывает код )
Комментарий (JonHanna) на GitHub об этом месте.
Enumerable.cs 517 was my fault, a remnant on simplifying from code that handled more cases.

It's harmless and of nil effect (it compiles to the same IL as if the more reasonable if was used there) but it's worth fixing all the same.

А у двух нулей в номере версии есть какой-то особый смысл?
Нам близок по духу старый стиль кодирования версий x.yy. Следующая версия с мелкими изменениями будет 6.01.Чуть более крупными: 6.10.
Баги открыли на GitHub? Если да- добавьте ссылки в вашу статью, чтобы можно было почитать мнение разработчиков.
Мы просто уведомляем разработчиков, что нашли некоторые ошибки и написали статью. При желании они могут воспользоваться анализатором и проверить проект более тщательно, чем мы (для этого мы предоставляем ключ на некоторое время).

Всегда кто-то говорит, что так делать плохо и надо открывать отдельный баг на каждый случай, а ещё лучше отправлять патчи. Сразу прокомментирую это. У нас нет ресурсов, чтобы этим заниматься. Напомню, что на данный момент мы выявили уже 9355 ошибок в открытых проектов. И чтобы разобраться с каждым случаем и корректно внести правку, потребуется содержать специальный отдел.
За ссылку- спасибо. Этого достаточно. Как инженеру из MS, для меня было важно что продуктовая команда получила нотификацию.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий