ASP.NET - Eliminar datos repetidos de una lista

 
Vista:
sin imagen de perfil

Eliminar datos repetidos de una lista

Publicado por Steven (4 intervenciones) el 07/06/2016 20:56:42
Buenas tardes,
tengo una lista que tengo que guardarle id de una tabla cuando se selecciona la fila
El problema que tengo es que en la lista que estoy guardando los ID de las filas
puede guardar repetidos, y ni debe ser así porque esa lista la voy a usar recorrerla y agregarle datos a ese id
Cabe a rescatar que ese id es el id de la tabla de la Base de Datos
Pido ayuda para saber como puedo eliminar ID repetidos en esta lista
Información importante: utilizo una tabla HTML y llamo al método por medio de ajax cuando el usuario selecciona o de selecciona una fila

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void AgregarListaCarga(string pCode)
{//public static List<string> carga = new List<string>();
	var contador = carga .Count;
	if (carga .Count == 0)//verifica si tiene un dato en la lsita si no lo agrega
	{
		carga .Add(pCode);
	}
	else
	{
		foreach (var item in carga )
		{
			if (item == pCode)
			{
				item.Remove(contador);
				return;
			}
			else if (item != pCode)
			{
				carga .Add(pCode);
				return;
			}
			contador++;
		}
	}
}

Gracias por la ayuda, cualquiera es bien bienvenida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alexis

Eliminar datos repetidos de una lista

Publicado por Alexis (6 intervenciones) el 08/06/2016 07:24:25
pues... mira, después de que tu lista este llena! lo que tendras que hacer antes de guardarla es:
recorrerla, mediante un ciclo for, y dentro obtener el registro en una nueva variable para despues hacer las comparaciones que necesites para descartar ese registro y eliminarlo:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Eliminar datos repetidos de una lista

Publicado por Steven (4 intervenciones) el 08/06/2016 18:10:22
He investigado un poco y he visto que se puede hacer con este método

public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source);

y cuanto tenga lista la lista de carga utilice esto

IEnumerable<string> distinctCarga = carga.Distinct();

pero al parecer dice un error de que no logro decifrar como solucionarlo

Los métodos de extensión deben ser definidos en una clase estática no genérico
y me lo marca aquí

public partial class pageCargaListas : System.Web.UI.Page
{

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Eliminar datos repetidos de una lista

Publicado por Carolina Vazquez (5 intervenciones) el 08/06/2016 19:52:46
Hola tengo esto de Removing Duplicates from List.

espero te sirva este código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static List<string> removeDuplicates(List<string> inputList)
{
	Dictionary<string, int> uniqueStore = new Dictionary<string, int>();
	List<string> finalList = new List<string>();
	foreach (string currValue in inputList)
	{
		if (!uniqueStore.ContainsKey(currValue))
		{
			uniqueStore.Add(currValue, 0);
			finalList.Add(currValue);
		}
	}
	return finalList;
}

Como se puede apreciar crea una nueva lista, y va agregando los elementos que no estén repetidos. En este caso es con strings, pero también lo podemos usar con objetos, como lo hice en mi caso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private List<Grado> removeGRADuplicates(List<Grado> inputList)
{
	Dictionary<int, int> uniqueStore = new Dictionary<int, int>();
	List<Grado> finalList = new List<Grado>();
	foreach (Grado gra in inputList)
	{
		if (!uniqueStore.ContainsKey(gra.Codigo))
		{
			uniqueStore.Add(gra.Codigo, 0);
			finalList.Add(gra);
		}
	}
	return finalList;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Eliminar datos repetidos de una lista

Publicado por Steven (4 intervenciones) el 08/06/2016 22:30:53
Gracias Carolina Vazquez, tu método me funciono para limpiar la lista de datos repetidos gracias de verdad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar datos repetidos de una lista

Publicado por khristian (335 intervenciones) el 28/06/2016 15:28:13
Puedes ordenarla de forma ascendente y solo cuando el ID es distinto al del anterior, ejecutar tu código... si es igual, lo saltas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar