在想我可以测试我在关于折叠范围算法的问题中得到的各种答案。所以我想我应该创建一个方法来创建一大堆范围,看看各种方法是如何处理它的。
但是当涉及到生成随机的东西时,我不是很好。我创造了这样的东西:
private static IEnumerable<Range<int>> GenerateRanges()
{
var r = new Random();
var n = 10000;
while(--n >= 0)
{
var start = r.Next(10000);
var end = r.Next(10000);
if (end < start)
Swap(ref start, ref end);
yield return Range.Create(start, end);
}
}
这当然会产生很多范围,但它们并没有给出特别有趣的结果,因为我在折叠它们后总是只得到一个范围。如何创建更有趣的范围?