看看这个测试:
[TestFixture] public class Quick_test { [Test] public void Test() { Assert.AreEqual(0, GetByYield().Count()); Assert.AreEqual(0, GetByEnumerable().Count()); } private IEnumerableGetByYield() { yield break; } private IEnumerable GetByEnumerable() { return Enumerable.Empty (); } }
当我编写存根方法时,我通常使用Enumerable.Empty方法.我偶然发现了我编写的一些旧代码,其中我使用了yield方式.
这让我想知道:
哪个在视觉上更吸引其他开发者?
是否有任何隐藏的陷阱会导致我们偏爱另一个?
谢谢!
我更喜欢任何为开发人员提供最清晰意义的方法.就个人而言,我甚至不知道收益率会下降; line是的,所以返回'Enumerable.Empty();`在我的任何代码库中都是首选.