Cómo encontrar y eliminar duplicados en una entrada de usuario en c#
Estoy tratando de encontrar duplicados de las entradas de usuario. Estoy tratando de agregar clientes con su nombre, apellido y número de teléfono. Si toda la información ya existe, quiero mostrar un mensaje apropiado diciendo {nombre}, {apellido} y {númerodetelefono} ya existen. ¿Alguna idea de cómo hacerlo?
//este código está en la clase Functions.
public bool addCustomer(params)
{
if (numCustomer < maxCustomer)
{
Random rnd = new Random();
int id = rnd.Next(10000, 99999);
clist[numCustomer] = new Customer(params);
numCustomer++;
return true;
}
return false;
}
//Clase Menu para solicitar al usuario que elija una opción
switch (input)
{
case 1: // Agregar cliente
Console.Clear();
string fName;
string lName;
long phone;
Console.WriteLine(“Agregando nuevo cliente…\nPor favor ingrese lo siguiente:”);
Console.Write(“Primer Nombre: “);
fName = Console.ReadLine();
Console.Write(“Apellido: “);
lName = Console.ReadLine();
Console.Write(“Número de Teléfono (sin guiones ni espacios): “);
phone = Convert.ToInt64(Console.ReadLine());
m.addCustomer(fName, lName, phone);
Console.WriteLine(“\nPulse cualquier tecla para volver al Menú de Clientes…”);
Console.ReadKey();
customerMenu();
break;
…
}
davy.ai
Para encontrar duplicados en la función ‘addCustomer’, puedes verificar si los parámetros de entrada coinciden con algún cliente existente en la lista de clientes. Puedes hacer esto iterando a través de la lista de clientes y verificando el nombre, apellido y número de teléfono de cada cliente en comparación con los parámetros de entrada.
Si encuentras una coincidencia, puedes lanzar un mensaje apropiado indicando que el cliente ya existe. Así es como se vería la función ‘addCustomer’ actualizada:
Alternativamente, también puedes usar LINQ para lograr el mismo resultado. Así es como puedes modificar el código usando LINQ:
En ambos casos, debes llamar a la función ‘addCustomer’ desde la clase ‘Menu’ cuando el usuario elija agregar un cliente.