Kiểm tra thử nghiệm này:Trở bộ sưu tập trống
[TestFixture]
public class Quick_test
{
[Test]
public void Test()
{
Assert.AreEqual(0, GetByYield().Count());
Assert.AreEqual(0, GetByEnumerable().Count());
}
private IEnumerable<string> GetByYield()
{
yield break;
}
private IEnumerable<string> GetByEnumerable()
{
return Enumerable.Empty<string>();
}
}
Khi tôi viết các phương pháp còn sơ khai tôi thường sử dụng cách Enumerable.Empty để làm việc đó. Tôi tình cờ gặp một số mã cũ tôi đã viết nơi tôi đã làm nó theo cách mang lại lợi nhuận.
này đã cho tôi tự hỏi:
- Đó là trực quan hơn để hấp dẫn các nhà phát triển khác?
- Có bế tắc ẩn nào khiến chúng ta thích cái này hơn cái kia không?
Cảm ơn!
Không liên quan trực tiếp đến câu hỏi; nhưng dường như bạn sử dụng MbUnit, có một xác nhận chuyên dụng để xác minh các liệt kê rỗng: Assert.IsEmpty (GetByYield()). Nó có thể dễ đọc hơn so với việc sử dụng xác nhận bình đẳng cổ điển đối với số lượng mục. –