AYUDA .NET

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

Actualizado 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 utilizar un C# Número Int aleatorio

  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 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ón Clase 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(); //  Genera un número entero aleatorio
Random random = new Random();
int randomNumber = random.Next(); //  Genera un número entero aleatorio
Dim random As New Random()
Dim randomNumber As Integer = random.Next() '  Genera un número entero aleatorio
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); //  Genera valores enteros aleatorios entre 1 y 100
Random rnd = new Random();
int randomNumberInRange = random.Next(1, 101); //  Genera valores enteros aleatorios entre 1 y 100
Dim rnd As New Random()
Dim randomNumberInRange As Integer = random.Next(1, 101) '  Genera valores enteros aleatorios entre 1 y 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); //  Genera un número aleatorio entre 0 y 99
Random random = new Random();
int randomNumberLessThanMax = random.Next(100); //  Genera un número aleatorio entre 0 y 99
Dim random As New Random()
Dim randomNumberLessThanMax As Integer = random.Next(100) '  Genera un número aleatorio entre 0 y 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); //  Rellena la matriz especificada con valores de bytes aleatorios
Random random = new Random();
byte [] randomBytes = new byte [10];
random.NextBytes(randomBytes); //  Rellena la matriz especificada con valores de bytes aleatorios
Dim random As New Random()
Dim randomBytes(9) As Byte
random.NextBytes(randomBytes) '  Rellena la matriz especificada con valores de bytes aleatorios
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); //  Inicializar con un valor semilla
int randomNumberWithSeed = random.Next();
Random random = new Random(12345); //  Inicializar con un valor semilla
int randomNumberWithSeed = random.Next();
Dim random As New Random(12345) '  Inicializar con un valor semilla
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.

//  Ejemplo de generación de números aleatorios con una distribución gaussiana utilizando una biblioteca de terceros como MathNet.Numerics
double randomNumberWithGaussianDistribution = MathNet.Numerics.Distributions.Normal.Sample(random, mean, standardDeviation);
//  Ejemplo de generación de números aleatorios con una distribución gaussiana utilizando una biblioteca de terceros como MathNet.Numerics
double randomNumberWithGaussianDistribution = MathNet.Numerics.Distributions.Normal.Sample(random, mean, standardDeviation);
'  Ejemplo de generación de números aleatorios con una distribución gaussiana utilizando una biblioteca de terceros como 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.

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 aquí.

    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); //  Genera un número aleatorio entre 1 y 100
    //  Crear contenido HTML con un número entero aleatorio
    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); //  Genera un número aleatorio entre 1 y 100
    //  Crear contenido HTML con un número entero aleatorio
    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) '  Genera un número aleatorio entre 1 y 100
	'  Crear contenido HTML con un número entero aleatorio
	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. Vaya a aquí 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 de IronPDF, las licencias y una prueba gratuita, visite la licencia página. Para obtener más información sobre Iron Software, visite este enlace página.

< 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.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123