以下代码在前置条件下失败。这是代码契约中的一个bug吗?
static class Program
{
static void Main()
{
foreach (var s in Test(3))
{
Console.WriteLine(s);
}
}
static IEnumerable<int>Test (int i)
{
Contract.Requires(i > 0);
for (int j = 0; j < i; j++)
yield return j;
}
}发布于 2009-07-02 02:50:50
这里有一个关于单元测试、迭代器、延迟执行和你的主题的blog post。
延迟执行是这里的问题。
https://stackoverflow.com/questions/1072184
复制相似问题