📜  使用 LINQ 并行查询生成随机偶数的 C# 程序(1)

📅  最后修改于: 2023-12-03 15:36:31.787000             🧑  作者: Mango

使用 LINQ 并行查询生成随机偶数的 C# 程序

在 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 并行查询是实现并行计算的一种方式,可以有效地提高程序运行效率。通过使用这个技术,我们可以很方便地生成随机偶数,并且可以方便地进行修改,以生成其他类型的随机数据。