Búsqueda y Registro en Arrays con C#
Clase 24 de 26 • Curso de Introducción a C# con .NET 3.1
Resumen
¿Cómo buscar un usuario en un array usando C#?
Encontrar un usuario en un array puede parecer complicado, pero con las herramientas adecuadas, es un proceso bastante sencillo. Usando el método Array.IndexOf
, podemos buscar elementos dentro de un array y obtener su índice si existe. Este método devuelve la posición del elemento dentro del array, permitiéndonos saber si el usuario existe y dónde se encuentra.
int index = Array.IndexOf(usernames, userToSearch);
- Parámetro 1: El array
usernames
donde se busca el elemento. - Parámetro 2:
userToSearch
, el usuario que intentamos encontrar.
Si el método devuelve -1
, significa que el usuario no está presente en el array.
¿Cómo reaccionar ante usuarios no encontrados?
Cuando un usuario no es localizado, es importante manejar el error de forma que el usuario final tenga una experiencia fluida y comprensible. En este escenario, si index
es igual a -1
, informamos al usuario y le sugerimos que intente de nuevo o que se registre si no existe.
if (index == -1)
{
Console.WriteLine("User not found. Try again or register.");
}
¿Cómo realizar un registro de usuarios?
Registrar un nuevo usuario en un array requiere que manejemos el índice actual para evitar sobrescribir datos existentes. Usamos una variable arrayCurrentIndex
para almacenar nuevos usuarios en la primera posición vacía.
Console.WriteLine("Please write and remember your username.");
usernames[arrayCurrentIndex] = Console.ReadLine();
Console.WriteLine($"Your user has been saved successfully. Your username is {usernames[arrayCurrentIndex]}.");
arrayCurrentIndex++;
Incrementando el índice
El comando arrayCurrentIndex++
incrementa el índice después de almacenar un usuario, asegurando que la próxima entrada se guarde en la siguiente posición libre.
¿Cómo controlar la capacidad del array?
Para evitar exceder la capacidad del array, implementamos una verificación al inicio del ciclo while
. Esto nos asegura que no se puedan registrar más de diez usuarios.
if (arrayCurrentIndex == 10)
{
Console.WriteLine("The restaurant is full. Good try again next year.");
Environment.Exit(0);
}
Este uso del método Environment.Exit(0)
termina el programa de manera elegante si el array se llena, manteniendo la interacción del usuario clara y directa.
¿Cómo mejorar el control de flujo del programa?
El manejo del ciclo while
es crucial para asegurar que el programa funcione correctamente. En lugar de usar condiciones adicionales, simplificamos estructurando el bucle para que continúe mientras arrayCurrentIndex
sea menor que 10:
while (arrayCurrentIndex < 10)
{
// Lógica del programa
}
Este enfoque asegura que el programa solo permita registrar nuevos usuarios mientras haya espacio, eliminando la necesidad de comprobaciones adicionales y optimizando la ejecución.
A medida que avanzas en el desarrollo de sistemas con C#, considera estas técnicas y consejos como herramientas fundamentales que mejorarán significativamente la gestión de arrays y la interacción con el usuario. Continúa aprendiendo y experimentando con diferentes métodos y pronto te sentirás cómodo implementando soluciones más complejas. ¡Sigue adelante!