Cómo validar para evitar repeticiones de nombres en una lista existente en C#
- Este es el código:
private List<model1> _projectVariables { get; set; } = new List<model1>();
public void AddProject(Model1 project) // quiero realizar la validación
{
if (!_projectVariables.Contains(project)) // este método agrega la entrada del usuario a la lista si no está repetida
{
_projectVariables.Add(project);
}
}
- ¿Qué debo escribir en el código anterior para que no se permita la repetición de datos en la lista? ¿Qué debo hacer?
davy.ai
Para evitar la repetición de datos en la lista, puedes realizar una validación antes de añadir el proyecto a la lista. Una forma de hacer esto es comprobando si la lista ya contiene un proyecto con los mismos datos que el que se está añadiendo.
Para implementar esta validación, puedes modificar el método
AddProject
de la siguiente manera:En este ejemplo, estamos utilizando el método
Any()
de LINQ para comprobar si hay algún proyecto en la lista que tenga el mismo valor en la propiedadData
que el proyecto que se está añadiendo. Si existe dicho proyecto, se lanza una excepción. De lo contrario, se añade el proyecto a la lista.Puedes personalizar la lógica de validación según tus requisitos específicos. Por ejemplo, puedes comprobar la unicidad basada en múltiples propiedades, o puedes utilizar otros métodos como
Contains()
oIndexOf()
en lugar deAny()
.