Eliminar datos duplicados de un array en c#

publicado por: Anonymous

Por ejemplo tengo mi array:

int[] A = { 1, 2, 2, 3, 9, 5, 5, 4 };

y quiero eliminar todos los duplicados y me quede de resultado un array:

int[] A = {1, 3, 9, 4 };

el distinct solo deja uno de todos los duplicados:

int[] B = A.Distinct().ToArray();

pero yo quiero que se borren todos los que se repiten.

GRACIAS!!

solución

Ayudandote con linq por medio del group by podrias ver cuantas veces se agrupa un valor y aplicarle un filtro

Algo como esto

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        int[] A = { 1, 2, 2, 3, 9, 5, 5, 4 };

        int[] B = (from item in A
                   group item by item into g
                   where g.Count() == 1
                   select g.Key).ToArray();

        Console.WriteLine(string.Join(",", B.ToList()));
    }
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *