.NET List.Distinct

折月煮酒 提交于 2019-12-08 16:39:30

问题


I'm using .NET 3.5. Why am I still be getting:

does not contain a definition for 'Distinct'

with this code:

using System.Collections.Generic;

       //.. . . . . code


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

回答1:


Are you

using System.Linq;

?

Distinct is an extension method defined in System.Linq.Enumerable so you need to add that using statement.

And don't forget to add a reference to System.Core.dll (if you're using VS2008, this has already been done for you).




回答2:


You forgot to add

using System.Linq;

Distinct is an extension method that is defined in System.Linq.Enumerable, so you can only call it if you import that namespace.

You'll also need to add a reference to System.Core.dll.
If you created the project as a .Net 3.5 project, it will already be referenced; if you upgraded it from .Net 2 or 3, you'll have to add the reference yourself.




回答3:


From msdn blog: Charlie Calvert MSDN Blog Link

To use on .net fiddle : --project type: Console

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



回答4:


 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 . . .
 }


来源:https://stackoverflow.com/questions/1138848/net-list-distinct

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!