我使用DistinctBy返回一个非重复列表。它不接受这个方法。
List<LastLocation> tempLast = details.DistinctBy(x => x.deviceID).ToList();
几天前我使用Visual Studio 2008时,这是一个正在工作的项目。我将该项目迁移到了Framework 4.0,目前我使用的是Visual Studio 2012,但突然之间,这开始导致问题。下面是正在使用的命名空间和引用的程序集的列表。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using COMMON;
using MySql.Data.MySqlClient;
using System.Data;
using System.Configuration;
using System.Xml.Linq;
我做错什么了吗?
4条答案
按热度按时间7bsow1i61#
编辑日期:2023年1月3日
.NET 6以上版本有DistinctBy,假设你使用的是LTS版本的.NET,我建议你使用这种方法,而不是下面的方法。
旧答案
你不需要安装任何
Nuget
软件包来处理DistinctBy
请求,只需添加下面的代码行就可以将它指向许多预先安装的引用中的一个。从这里开始,在任何返回的集合末尾添加
.DistinctBy(d => d.Name)
,类似于下面的示例。iqxoj9l92#
DistincyBy
是通过MoreLinq提供的,而不是框架的一部分。请检查您是否安装并引用了MoreLinq。hc2pp10m3#
DistinctBy不是Linq的一部分。可能您缺少MoreLinq的NuGet包,或者您没有包含自己的扩展方法。
pb3skfrl4#
试试这个: