AYUDA .NET

C# Random Int (Cómo funciona para desarrolladores)

Publicado en 6 de marzo, 2024
Compartir:

Introducción

Para crear int aleatorios en C# en programación informática, hay que ser capaz de realizar una gran variedad de tareas, desde simulaciones estadísticas hasta desarrollo de juegos. Los desarrolladores de software pueden incluir la aleatoriedad en sus programas utilizando la clase Random en C#, que es una herramienta básica para crear números aleatorios.

Una idea fundamental en programación es la generación de números enteros aleatorios, que permite a los programadores modelar sucesos erráticos, proporcionar contenido dinámico y poner en práctica algoritmos con entradas aleatorias. La capacidad de crear múltiples números aleatorios es útil en muchas tareas informáticas, como crear niveles de juego aleatorios, reordenar cosas en una lista o realizar análisis estadísticos.

Cómo usar un número int aleatorio en C

  1. Cree un nuevo proyecto C#.

  2. Construye una instancia de Clase Aleatoria.

  3. Utilice el botón Siguiente() para hacer un entero aleatoriamente.

  4. Dale un rango a los enteros aleatorios.

  5. Utiliza el número entero aleatorio en tu programa y repítelo siempre que sea necesario.

Qué es C# Random Int

Una forma sencilla y flexible de generar números aleatorios en C# es utilizar la funciónClase aleatoria. Con la ayuda de funciones como Siguiente() y Siguiente(valor mínimo, valor máximo)los programadores pueden obtener un generador de números pseudoaleatorios de distintos tamaños. Además, la clase Random tiene capacidades que permiten personalizar el valor de la semilla, lo que hace posible crear secuencias aleatorias repetibles para pruebas y depuración.

En este artículo se examinará la funcionalidad de la clase Random en C#, incluyendo su aplicación, precauciones de seguridad y procedimientos recomendados para producir números aleatorios. Exploraremos escenarios, aplicaciones y ejemplos en los que genera enteros aleatorios, mostrando cómo los desarrolladores pueden utilizar la aleatorización para mejorar sus programas en C#. Al conocer a fondo la generación de enteros aleatorios en C#, los desarrolladores pueden abrir nuevas opciones e introducir cierto grado de imprevisibilidad en sus programas, lo que a la larga mejorará la experiencia del usuario y promoverá la innovación en el desarrollo de software.

Generación básica de números enteros aleatorios

El próximo() se puede utilizar sin ningún parámetro para crear un número entero aleatorio de la forma más sencilla posible. El número aleatorio devuelto por esta función es un número entero aleatorio no negativo.

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#

También podemos generar un número aleatorio en coma flotante con la ayuda del método NextDouble().

Número aleatorio dentro de un intervalo

Utilice el botón Siguiente(valor mínimo, valor máximo) para crear un número aleatorio dentro de un rango especificado. El resultado de este procedimiento es un número aleatorio menor que maxValue y mayor o igual que minValue. Que generará enteros aleatorios entre los valores.

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#

Entero aleatorio menor que un valor máximo

Utilización del Next(maxValue) devolverá un número aleatorio menor que el valor máximo dado si eso es todo lo que necesita. Este procedimiento devuelve un valor int aleatorio menor que el valor máximo dado.

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#

Generación de bytes aleatorios

Mediante el uso de NextBytes(byte[] búfer) puede insertar bytes aleatoriamente en una matriz de bytes. Crear datos binarios aleatorios es útil.

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#

Valor de semilla personalizado

Para una ejecución consistente para generar un número aleatorio, puede inicializar la misma instancia con un valor de semilla particular. Para resultados repetibles, como los de las situaciones de prueba, es útil utilizar la misma semilla.

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#

Generación aleatoria segura

El uso de un método seguro para hilos es crucial para generar números aleatorios en un entorno multihilo. Utilizar la clase ThreadLocal para generar una instancia única de Random para cada hilo es una técnica popular.

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#

Técnicas aleatorias avanzadas

En situaciones más complejas, como la producción de números aleatorios con determinadas distribuciones(como la distribución gaussiana)es posible que tenga que utilizar bibliotecas de terceros o crear sus propios métodos.

// 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#

Estos son sólo algunos ejemplos de las diversas aplicaciones de la clase Random de C# que producen números aleatorios. Puede elegir el planteamiento que mejor se adapte a sus exigencias en función de las circunstancias y requisitos particulares que tenga.

¿Qué es IronPDF?

Crear, editar y modificar documentos PDF es sólo una de las muchas funciones que ofrece la conocida biblioteca de C#IronPDF. Aunque el caso de uso principal de IronPDF son las operaciones relacionadas con PDF, también se puede utilizar con C# para una variedad de otros usos, como la generación de enteros aleatorios. El propósito de este tutorial es demostrar cómo crear números aleatorios usando IronPDF y C# y luego insertarlos en un documento PDF.

Una característica destacada de IronPDF es suConversión de HTML a PDF que conserva los diseños y estilos. Genera archivos PDF a partir de contenido web, por lo que es ideal para informes, facturas y documentación. Puede convertir archivos HTML, URL y cadenas HTML en PDF con facilidad.

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#

Características de IronPDF:

  • Los desarrolladores pueden crear documentos PDF de alta calidad a partir de material HTML, como páginas web y archivos HTML, utilizando IronPDF. Con esta funcionalidad, se pueden crear fácilmente documentos PDF a partir de información HTML, lo que lo hace perfecto para archivar documentos, generar informes y hacer scraping en línea.
  • Los desarrolladores pueden convertir rápidamente archivos de imagen, incluidos JPEG, PNG, BMP y GIF, en documentos PDF con IronPDF. Esta función permite crear archivos PDF editables y con capacidad de búsqueda a partir de material basado en imágenes, incluidos documentos escaneados o fotografías.
  • IronPDF ofrece una amplia funcionalidad para manipular y modificar archivos PDF, permitiendo a los desarrolladores realizar operaciones programáticas como dividir, rotar y reorganizar páginas PDF. A los documentos PDF ya existentes, los desarrolladores también pueden añadir firmas digitales, texto, fotos, comentarios y marcas de agua.
  • Rellenar campos de formularios, recuperar datos de formularios y crear formularios PDF mediante programación son sólo algunas de las funciones que IronPDF ofrece para trabajar con formularios PDF. Con esta función, los desarrolladores pueden recopilar datos de los usuarios, crear formularios PDF dinámicos y automatizar el proceso de cumplimentación de formularios.
  • IronPDF ofrece a los desarrolladores la posibilidad de cifrar, proteger con contraseña y firmar digitalmente documentos PDF. Esta función garantiza que los datos privados permanezcan así y estén protegidos de miradas indiscretas y manipulaciones.

    Para obtener más información sobre las funciones de IronPDF, consulte el documentoDocumentación en IronPDF.

    Instalación de IronPDF:

    Instale primero la biblioteca IronPDF utilizando la consola del gestor de paquetes o el gestor de paquetes NuGet:

Install-Package IronPdf

C# Random Int(Cómo funciona para desarrolladores): Figura 1 - Instalación de IronPDF mediante la consola del gestor de paquetes

Utilizar el gestor de paquetes NuGet para buscar el paquete "IronPDF" es otra opción para la instalación. Podemos elegir y descargar el paquete necesario de esta lista de todos los paquetes NuGet asociados a IronPDF.

C# Random Int(Cómo funciona para desarrolladores): Figura 2 - Instalación de IronPDF mediante el gestor de paquetes NuGet

Int aleatorio en IronPDF

Puede inicializar IronPDF en su código C# después de haberlo instalado. Una vez importados los espacios de nombres necesarios, construya una instancia de la clase 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 no admite directamente la creación de enteros aleatorios. Por otro lado, podemos utilizar IronPDF para incrustar los números aleatorios generados que creamos dentro de nuestro documento PDF y utilizar la clase Random incorporada en C#. Después de crear números aleatorios con la clase Random, podemos utilizar IronPDF para añadirlos a nuestro documento PDF. Podemos añadir el número entero aleatorio producido al PDF utilizando las funciones de dibujo de texto de IronPDF.

Debemos guardar el material del documento PDF en un archivo o flujo cuando se haya añadido. IronPDF ofrece formas de guardar el archivo PDF en diferentes ubicaciones, incluyendo un flujo de memoria o una ruta de archivo.

C# Random Int(Cómo funciona para desarrolladores): Figura 3 - PDF resultante del código anterior

En la pantalla de arriba está el resultado que produjo el código anterior. Ir aEjemplo de creación de un PDF a partir de HTML para saber más sobre el código.

Conclusión

En conclusión, un método sólido para crear dinámicamente documentos PDF con datos aleatorios incrustados es utilizar C# para la generación de enteros aleatorios junto con la capacidad HtmlToPdf de IronPDF. Los desarrolladores pueden integrar fácilmente contenido dinámico en documentos PDF combinando la funcionalidad de conversión de HTML a PDF de IronPDF con las capacidades de generación de enteros aleatorios de C#. Esto abre un mundo de posibilidades para la generación de informes, la visualización de datos y la automatización de documentos.

La edición Lite $749 de IronPDF incluye un año de mantenimiento del software, opciones de actualización y una licencia permanente. Los usuarios pueden evaluar el producto en situaciones reales durante el periodo de prueba con marca de agua. Para obtener más información sobre el coste y la licencia de IronPDF, así como una versión de prueba gratuita, visite el sitio web**Información sobre licencias IronPDF. Para obtener más información sobre Iron Software, visite la página web*acerca de Iron Software***.

< ANTERIOR
Herencia en C# (Cómo funciona para los desarrolladores)
SIGUIENTE >
C# IDE (Cómo funciona para los desarrolladores)

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >