.NET List.Distinct

Non*_*biz 11 c# linq extension-methods .net-3.5

我正在使用.NET 3.5.为什么我仍然会得到:

不包含'Distinct'的定义

使用此代码:

using System.Collections.Generic;

       //.. . . . . code


    List<string> Words = new List<string>();
       // many strings added here . . .
    Words = Words.Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

R. *_*des 36

你是

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

Distinct是一个定义的扩展方法,System.Linq.Enumerable因此您需要添加using语句.

并且不要忘记添加引用System.Core.dll(如果您使用的是VS2008,这已经为您完成了).

  • 我认为"核心"在这里意味着"应该真正存在于mscorlib中的东西,但我们无法将其放在那里以实现backcompat":) (2认同)

SLa*_*aks 6

你忘了添加

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

Distinct是一个定义的扩展方法System.Linq.Enumerable,因此只有在导入该命名空间时才能调用它.

您还需要添加引用System.Core.dll.
如果您将项目创建为.Net 3.5项目,则它已被引用; 如果你从.Net 2或3升级它,你必须自己添加引用.