自制随机数
我昨天发现了一个好玩的东西,今天打算记录下来
我们在写随机数的时候,一般会用到Random
/// <summary>
/// 产生重复的随机数
/// </summary>
public static void Print1()
{
for (int i = 0; i < 10; i++)
{
Random rd = new Random();
var rds = rd.Next(1, 10);
Console.WriteLine(rds);
}
}
但是,你转念一想,当这个10个数字并行的时候,是不是就相当于随机数
所以我有了以下代码
public static void Print2()
{
Parallel.For(0, 10, delegate (int i)
{
Console.WriteLine(i); //打印0-10的无序整数
});
}
Parallel结合Enumerable更好玩
public static void Print3()
{
//Enumerable结合Parallel
var lists = Enumerable.Range(1, 10).ToList();
Parallel.For(0, lists.Count, i =>
{
Console.WriteLine($"索引{i},{lists[i]}");
});
}