.NET 帮助

C# 随机整数(它对开发人员的工作原理)

发布 2024年三月6日
分享:

介绍

要在计算机编程中创建 C# 随机 int,必须能够完成从统计模拟到游戏开发等各种任务。 软件开发人员可以通过使用 C# 中的 Random 类在程序中加入随机性,该类是创建随机数的基本工具。

随机整数生成是编程的一个基本思想,它使程序员能够对不稳定事件进行建模,提供动态内容,并将具有随机输入的算法付诸实践。创建多个随机数的能力在许多计算机任务中都非常有用,例如创建随机游戏关卡、重新排列列表中的事物或进行统计分析。

如何使用 C# 随机 Int 数

  1. 创建一个新的 C# 项目。

  2. 构建一个随机类实例。

  3. 使用下一页()函数,随机生成一个整数。

  4. 给出随机整数的范围。

  5. 在程序中使用随机整数,并在需要时重复。

什么是 C# 随机 Int

在 C# 中生成随机数的一种简单而灵活的方法是使用随机班级. 借助 Next()下一页(最小值、最大值)程序员可以获得一系列方便大小的伪随机数发生器。 此外,Random 类还具有自定义种子值的功能,这使得创建可重复的随机序列用于测试和调试成为可能。

本文将研究 C# 中 Random 类的功能,包括其应用、安全注意事项以及生成随机数的推荐程序。 我们将探讨其生成随机整数的场景、应用和示例,展示开发人员可能如何使用随机化来改进他们的 C# 程序。 通过全面掌握 C# 随机整数生成,开发人员可以开辟新的选择,并在程序中引入一定程度的不可预测性,最终改善用户体验,促进软件开发创新。

基本随机整数生成

下一个()该函数无需任何参数即可使用,以最简单的方式创建随机整数。 该函数返回的随机数为非负随机整数。

Random random = new Random();
int randomNumber = random.Next(); // Generates a random integer
Random random = new Random();
int randomNumber = random.Next(); // Generates a random integer
Dim random As New Random()
Dim randomNumber As Integer = random.Next() ' Generates a random integer
VB   C#

我们还可以借助 NextDouble 方法生成一个随机浮点数。().

范围内的随机数

使用下一页(最小值、最大值)在指定范围内创建随机数的函数。 此过程的结果是一个小于 maxValue 且大于或等于 minValue 的随机数。 这将在数值之间产生随机整数。

Random rnd = new Random();
int randomNumberInRange = random.Next(1, 101); // Generates random integer values between 1 and 100
Random rnd = new Random();
int randomNumberInRange = random.Next(1, 101); // Generates random integer values between 1 and 100
Dim rnd As New Random()
Dim randomNumberInRange As Integer = random.Next(1, 101) ' Generates random integer values between 1 and 100
VB   C#

小于最大值的随机整数

使用下一页(最大值)函数将返回一个小于给定最大值的随机数。该过程将返回一个小于给定 maxValue 的随机 int 值。

Random random = new Random();
int randomNumberLessThanMax = random.Next(100); // Generates a random number generator between 0 and 99
Random random = new Random();
int randomNumberLessThanMax = random.Next(100); // Generates a random number generator between 0 and 99
Dim random As New Random()
Dim randomNumberLessThanMax As Integer = random.Next(100) ' Generates a random number generator between 0 and 99
VB   C#

生成随机字节

通过使用 NextBytes(字节[]缓冲区)您可以在一个字节数组中随机插入字节。 创建随机二进制数据会有所帮助。

Random random = new Random();
byte [] randomBytes = new byte [10];
random.NextBytes(randomBytes); // Fills the specified array with random byte values
Random random = new Random();
byte [] randomBytes = new byte [10];
random.NextBytes(randomBytes); // Fills the specified array with random byte values
Dim random As New Random()
Dim randomBytes(9) As Byte
random.NextBytes(randomBytes) ' Fills the specified array with random byte values
VB   C#

自定义种子值

如果要持续运行以生成随机数,您可以使用特定的种子值初始化同一实例。 对于可重复的结果,如测试情况下的结果,使用相同的种子是有帮助的。

Random random = new Random(12345); // Initialize with a seed value
int randomNumberWithSeed = random.Next();
Random random = new Random(12345); // Initialize with a seed value
int randomNumberWithSeed = random.Next();
Dim random As New Random(12345) ' Initialize with a seed value
Dim randomNumberWithSeed As Integer = random.Next()
VB   C#

线程安全随机生成

使用线程安全方法对于在多线程环境中生成随机数至关重要。 使用 ThreadLocal 类为每个线程生成一个唯一的随机实例是一种流行的技术。

ThreadLocal<Random> threadLocalRandom = new ThreadLocal<Random>(() => new Random());
int randomNumberThreadSafe = threadLocalRandom.Value.Next();
ThreadLocal<Random> threadLocalRandom = new ThreadLocal<Random>(() => new Random());
int randomNumberThreadSafe = threadLocalRandom.Value.Next();
Dim threadLocalRandom As New ThreadLocal(Of Random)(Function() New Random())
Dim randomNumberThreadSafe As Integer = threadLocalRandom.Value.Next()
VB   C#

高级随机技术

在更复杂的情况下,包括生成具有特定分布的随机数(就像高斯分布一样)因此,您可能需要使用第三方库或创建自己的专有方法。

// Example of generating random numbers with a Gaussian distribution using a third-party library like MathNet.Numerics
double randomNumberWithGaussianDistribution = MathNet.Numerics.Distributions.Normal.Sample(random, mean, standardDeviation);
// Example of generating random numbers with a Gaussian distribution using a third-party library like MathNet.Numerics
double randomNumberWithGaussianDistribution = MathNet.Numerics.Distributions.Normal.Sample(random, mean, standardDeviation);
' Example of generating random numbers with a Gaussian distribution using a third-party library like MathNet.Numerics
Dim randomNumberWithGaussianDistribution As Double = MathNet.Numerics.Distributions.Normal.Sample(random, mean, standardDeviation)
VB   C#

这些只是 C# Random 类产生随机数的各种应用的几个例子。 您可以根据具体情况和特殊要求选择最符合您要求的方法。

什么是 IronPDF

创建、编辑和修改 PDF 文档只是著名的 C# 库提供的众多功能之一IronPDF. 虽然 IronPDF 的主要用例是与 PDF 相关的操作,但它也可与 C# 一起用于各种其他用途,例如生成随机整数。 本教程的目的是演示如何使用 IronPDF 和 C# 创建随机数,然后将其插入 PDF 文档。

IronPDF 的一个突出特点是它的HTML 转换为 PDF译文必须使用功能,保留布局和样式。 它可以从网页内容生成 PDF,非常适合报告、发票和文档。 您可以轻松地将 HTML 文件、URL 和 HTML 字符串转换为 PDF。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

*IronPDF 的特点:

  • 开发人员可以使用 IronPdf 从网页和 HTML 文件等 HTML 资料创建高质量的 PDF 文档。 利用这一功能,可以轻松地从 HTML 信息中创建 PDF 文档,这使其成为文档归档、报告生成和在线搜刮的完美工具。
  • 开发人员可以使用 IronPDF 将 JPEG、PNG、BMP 和 GIF 等图像文件快速转换为 PDF 文档。 使用此功能可从基于图像的材料(包括扫描文件或照片)创建可搜索和可编辑的 PDF 文件。
  • IronPDF 为操作和修改 PDF 文件提供了广泛的功能,使开发人员能够进行拆分、旋转和重新排列 PDF 页面等编程操作。 在已有的 PDF 文档中,开发人员还可以添加数字签名、文本、照片、注释和水印。
  • 填写表单字段、检索表单数据和以编程方式创建 PDF 表单只是 IronPDF 提供的处理 PDF 表单的部分功能。 利用该功能,开发人员可以收集用户输入、创建动态 PDF 表单并自动完成填表过程。
  • IronPdf 使开发人员能够对 PDF 文档进行加密、密码保护和数字签名。 该功能可确保私人数据不被窥探和篡改。

    要了解 IronPDF 功能的更多信息,请参阅IronPDF 文档.

    安装 IronPDF:

    首先使用软件包管理控制台或 NuGet 软件包管理器安装 IronPdf 库:

Install-Package IronPdf

C# Random Int(如何为开发人员工作):图 1 - 使用软件包管理器控制台安装 IronPDF

使用 NuGet 软件包管理器搜索软件包 "IronPDF "是另一种安装方式。 我们可以从与 IronPdf 相关的所有 NuGet 软件包列表中选择并下载所需的软件包。

C# 随机 Int(如何为开发人员工作):图 2 - 使用 NuGet 软件包管理器安装 IronPDF

IronPDF 中的随机 Int

安装 IronPdf 后,您可以在 C# 代码中初始化 IronPdf。 导入所需命名空间后,构建 IronPDF.HtmlToPdf 类的实例。

using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        Random random = new Random();
        int randomNumber = random.Next(1, 101); // Generates a random number generator between 1 and 100
        // Create HTML content with random integer
        string htmlContent = $@"
            <html>
            <head><title>Random Integer PDF</title></head>
            <body>
            <h1>Random Integer: {randomNumber}</h1>
            </body>
            </html>";
        var renderer = new HtmlToPdf();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string[] args)
    {
        Random random = new Random();
        int randomNumber = random.Next(1, 101); // Generates a random number generator between 1 and 100
        // Create HTML content with random integer
        string htmlContent = $@"
            <html>
            <head><title>Random Integer PDF</title></head>
            <body>
            <h1>Random Integer: {randomNumber}</h1>
            </body>
            </html>";
        var renderer = new HtmlToPdf();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim random As New Random()
		Dim randomNumber As Integer = random.Next(1, 101) ' Generates a random number generator between 1 and 100
		' Create HTML content with random integer
		Dim htmlContent As String = $"
            <html>
            <head><title>Random Integer PDF</title></head>
            <body>
            <h1>Random Integer: {randomNumber}</h1>
            </body>
            </html>"
		Dim renderer = New HtmlToPdf()
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
		pdf.SaveAs("output.pdf")
	End Sub
End Class
VB   C#

IronPDF 不直接支持随机整数创建。 另一方面,我们可以使用 IronPDF 将我们创建的生成随机数嵌入 PDF 文档内部,并使用 C# 中内置的随机类。 使用 Random 类创建随机数后,我们可以使用 IronPDF 将其添加到 PDF 文档中。 我们可以使用 IronPDF 的文本绘制功能将制作的随机整数添加到 PDF 中。

添加完成后,我们必须将 PDF 文档中的材料保存到文件或数据流中。 IronPdf 提供将 PDF 文件保存到不同位置的方法,包括内存流或文件路径。

C# Random Int(如何为开发人员工作):图 3 - 前面代码输出的 PDF

上图是上述代码产生的结果。 去从 HTML 创建 PDF 示例以了解有关代码的更多信息。

结论

总之,动态创建带有嵌入式随机数据的 PDF 文档的一种强有力的方法是使用 C# 进行随机整数生成,并结合 IronPDF 的 HtmlToPdf 功能。 通过将 IronPDF 的 HTML 到 PDF 转换功能与 C# 的随机整数生成功能相结合,开发人员可以轻松地将动态内容集成到 PDF 文档中。 这为报告生成、数据可视化和文档自动化带来了无限可能。

IronPDF 的 $749 Lite 版包括一年的软件维护、升级选项和永久许可证。 在水印试用期内,用户可以在真实场景中对产品进行评估。 要了解有关 IronPDF 成本、许可和免费试用的更多信息,请访问IronPDF 许可信息. 要了解有关 Iron Software 的更多信息,请访问关于 Iron Software.

< 前一页
C# 继承(它是如何为开发人员工作的)
下一步 >
C# IDE(它如何为开发人员工作)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >