Hai phương pháp xuất hiện để hành xử như vậy với tôilà năng suất phá vỡ tương đương trở Enumerable <T> .Empty từ một phương pháp trở về IEnumerable <T>
public IEnumerable<string> GetNothing()
{
return Enumerable.Empty<string>();
}
public IEnumerable<string> GetLessThanNothing()
{
yield break;
}
Tôi đã cấu hình mỗi trong các kịch bản thử nghiệm và tôi không thấy một sự khác biệt có ý nghĩa về tốc độ, nhưng phiên bản yield break
nhanh hơn một chút.
Có bất kỳ lý do nào để sử dụng cái này cho người khác không? Là một trong những dễ đọc hơn khác? Có sự khác biệt về hành vi quan trọng với người gọi không?
Ở đây và ở mọi nơi Khác (trừ khi một trình hồ sơ nói khác) –