📅  最后修改于: 2023-12-03 15:36:31.787000             🧑  作者: Mango
在 C# 中通过使用 LINQ 并行查询,我们可以很方便地生成一个由随机偶数构成的数组。下面我们将介绍如何实现这个程序。
using System;
using System.Linq;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
int count = 10000000;
int[] numbers = new int[count];
Parallel.For(0, count, i =>
{
numbers[i] = GenerateRandomEvenNumber();
});
Console.WriteLine($"Generated {count} random even numbers.");
}
static int GenerateRandomEvenNumber()
{
Random random = new Random();
int number = random.Next(0, 100000000);
while (number % 2 != 0)
{
number = random.Next(0, 100000000);
}
return number;
}
}
在上面的代码中,我们首先定义了一个 count 变量,表示生成随机偶数的数量。接着,我们声明了一个 int 类型的数组 numbers,用于存储随机偶数。
然后我们使用 Parallel.For 方法,实现了并行计算。这个方法会自动将迭代分配给多个线程在多个核心中运行,从而达到并行化的效果。
每个迭代会调用 GenerateRandomEvenNumber 方法,生成一个随机偶数并将其存储到数组中。这个方法中首先使用 Random 类型生成一个随机整数,然后判断其是否为偶数,并在不为偶数时不断重复上述操作,直到生成的数为偶数后返回。
最后,我们输出生成的随机偶数数量。
使用 LINQ 并行查询是实现并行计算的一种方式,可以有效地提高程序运行效率。通过使用这个技术,我们可以很方便地生成随机偶数,并且可以方便地进行修改,以生成其他类型的随机数据。