How do I remove duplicates from a C# array?

后端 未结 27 2681
北海茫月
北海茫月 2020-11-22 07:53

I have been working with a string[] array in C# that gets returned from a function call. I could possibly cast to a Generic collection, but I was w

27条回答
  •  时光取名叫无心
    2020-11-22 08:30

    Here is the HashSet approach:

    public static string[] RemoveDuplicates(string[] s)
    {
        HashSet set = new HashSet(s);
        string[] result = new string[set.Count];
        set.CopyTo(result);
        return result;
    }
    

    Unfortunately this solution also requires .NET framework 3.5 or later as HashSet was not added until that version. You could also use array.Distinct(), which is a feature of LINQ.

提交回复
热议问题