13 Stimmen

.NET List.Distinct

Ich verwende .NET 3.5. Warum bekomme ich immer noch:

enthält keine Definition für "Unterscheidbar".

mit diesem Code:

using System.Collections.Generic;

       //.. . . . . code

    List<string> Words = new List<string>();
       // many strings added here . . .
    Words = Words.Distinct().ToList();

40voto

R. Martinho Fernandes Punkte 217895

Sind Sie

using System.Linq;

?

Distinct ist eine Erweiterungsmethode, die in System.Linq.Enumerable Sie müssen also die using-Anweisung hinzufügen.

Und vergessen Sie nicht, einen Verweis hinzuzufügen auf System.Core.dll (wenn Sie VS2008 verwenden, wurde dies bereits für Sie erledigt).

8voto

SLaks Punkte 832502

Sie haben vergessen, hinzuzufügen

using System.Linq;

Distinct ist ein Erweiterungsmethode die definiert ist in System.Linq.Enumerable und kann daher nur aufgerufen werden, wenn Sie diesen Namespace importieren.

Sie müssen auch einen Verweis auf System.Core.dll .
Wenn Sie das Projekt als .Net 3.5-Projekt erstellt haben, ist es bereits referenziert; wenn Sie es von .Net 2 oder 3 aktualisiert haben, müssen Sie die Referenz selbst hinzufügen.

2voto

daviesdoesit Punkte 675

Aus dem msdn-Blog: Charlie Calvert MSDN-Blog-Link

Zur Verwendung bei .net-Tüftelei : --Projekttyp: Konsole

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello World");
        var listA = new List<int> { 1, 2, 3, 3, 2, 1 };
        var listB = listA.Distinct();

        foreach (var item in listB)
        {
            Console.WriteLine(item);
        }
    }
}
// output: 1,2,3

-1voto

mhhsyria Punkte 9
 List<string> words  = new List<string>();

 // many strings added here . . .

 IEnumerable <string> distinctword  =Words .distinct();

 foreach(string index in distinctword )
 {
      // do what u want here . . .
 }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X