這兩種方法出現同樣的行爲給我是產量突破等同於從方法返回可枚舉<T> .Empty返回的IEnumerable <T>
public IEnumerable<string> GetNothing()
{
return Enumerable.Empty<string>();
}
public IEnumerable<string> GetLessThanNothing()
{
yield break;
}
我在測試場景異形每我沒有看到速度有意義的差異,但yield break
版本稍快。
是否有任何理由使用其中一種?一個比另一個更容易閱讀嗎?是否有一個行爲差異對呼叫者有影響?
這裏和其他任何地方(除非一個剖析器另有說明) – 2010-03-16 19:03:36