.NET 幫助

C# 隨機整數(開發者如何使用)

發佈 2024年3月6日
分享:

介紹

在電腦程式設計中創建 C# 隨機整數,需要能夠完成各種任務,從統計模擬到遊戲開發。軟體開發人員可以通過使用 C# 中的 Random 類在他們的程式中加入隨機性,這是一個用於創建隨機數的基本工具。

程式設計中的一個基本概念是隨機整數生成,這使程式設計師能夠模擬不可預測的事件、提供動態內容,並實現具有隨機輸入的演算法。在許多計算任務中,創建多個隨機數是有用的,例如創建隨機遊戲關卡、重新排列列表中的項目或進行統計分析。

如何使用 C# 隨機整數

  1. 建立一個新的 C# 專案。

  2. 建立一個 Random 類別的實例。

  3. 使用 Next() 隨機生成整數的函數。

  4. 給隨機整數設定一個範圍。

  5. 在程式中使用隨機整數,並在需要時反覆執行。

什麼是 C# 隨機整數

在 C# 中生成隨機數的一種簡單且靈活的方法是使用 Random 類別借助像 Next 這樣的函數() 和下一個(最小值, 最大值)程式設計師可以在各種方便的範圍內獲得偽隨機數生成器。此外,Random類具有允許自定義種子值的功能,使得創建可重複的隨機序列以進行測試和除錯成為可能。

本文將探討C#中Random類的功能,包括其應用、安全預防措施以及生成隨機數的推薦程序。我們將探討產生隨機整數的場景、應用和示例,展示開發人員如何利用隨機化來改進其C#程序。通過深入了解C#隨機整數生成,開發人員可以打開新的選項,並在其程序中引入一定程度的不可預測性,這最終將改善用戶體驗並促進軟體開發創新。

基本隨機整數生成

Next() function 可以在不使用任何參數的情況下,用最簡單的方式生成一個隨機整數。此函數返回的隨機數是一個非負的隨機整數。

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 生成一個隨機浮點數。().

隨機數在範圍內

使用 Next(最小值, 最大值) 函數用於在指定範圍內創建隨機數。小於 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#

最大值以下的隨機整數

使用 Next(最大值) 此函數將生成小於給定最大值的隨機數,如果這是您所需的全部內容。此程序將返回一個小於給定maxValue的隨機整數值。

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 類為每個線程生成一個唯一的 Random 實例是一種流行的技術。

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文件中添加數字簽名、文字、圖片、評論和水印。
  • IronPDF提供了許多功能來操作PDF表單,如填寫表單欄位、提取表單數據和程式化地創建PDF表單。使用此功能,開發人員可以收集使用者輸入、創建動態PDF表單並自動填寫表單。
  • IronPDF賦予開發人員加密、密碼保護和數字簽名PDF文件的能力。此功能確保私人資料保持私密,並受到保護免受窺探和篡改。

要了解關於IronPDF功能的更多資訊,請參考 這裡安裝 IronPDF:

首先使用套件管理器主控台或 NuGet 套件管理器安裝 IronPDF 函式庫:

Install-Package IronPdf

C# 隨機整數(開發者如何使用):圖1 - 使用套件管理器控制台安裝 IronPDF

使用 NuGet 套件管理器搜索 "IronPDF" 套件是另一種安裝選項。我們可以從這個與 IronPDF 關聯的所有 NuGet 套件列表中選擇並下載所需的套件。

C# 隨機整數(開發人員的工作原理):圖 2 - 使用 NuGet 套件管理器安裝 IronPDF

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 類。在使用 Random 類創建隨機數後,我們可以使用 IronPDF 將它們添加到我們的 PDF 文件中。我們可以使用 IronPDF 的文本繪製功能將生成的隨機整數添加到 PDF 中。

當內容添加到 PDF 文檔中後,我們必須將其保存到文件或流中。IronPDF 提供了將 PDF 文件保存到不同位置的方法,包括內存流或文件路徑。

C# 隨機整數(開發人員工作方式): 圖 3 - 上一段代碼輸出的 PDF

在上方螢幕上顯示的是上述程式碼產生的結果。 繼續 這裡 了解更多程式碼資訊。

結論

總之,一個強大的方法是使用C#進行隨機整數生成,結合IronPDF的HtmlToPdf功能,用於動態創建嵌入隨機數據的PDF文檔。開發人員可以輕鬆地將動態內容整合到PDF文檔中,通過結合IronPDF的HTML到PDF轉換功能和C#的隨機整數生成功能。這為報告生成、數據可視化和文檔自動化開辟了可能性。

IronPDF的 $749 Lite 版本包括一年的軟體維護、升級選項和永久授權。用戶可以在帶水印的試用期內在實際情境中評估產品。欲了解更多關於IronPDF的費用、授權和免費試用信息,請訪問授權頁面。 頁面如需了解更多有關Iron Software的資訊,請訪問此 頁面.

< 上一頁
C# 繼承(開發者指南)
下一個 >
C# IDE(開發人員如何使用它)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >