Кажется, что эти два метода ведут себя одинаково для меня
public IEnumerable<string> GetNothing()
{
return Enumerable.Empty<string>();
}
public IEnumerable<string> GetLessThanNothing()
{
yield break;
}
Я профилировал каждый в тестовых сценариях, и я не вижу значимой разницы в скорости, но версия yield break
немного быстрее.
Есть ли причины использовать один над другим? Легче читать, чем другой? Есть ли разница в поведении, которая имеет значение для вызывающего?