繁体   English   中英

DistinctBy 在 C#/ Visual Studio 2012 中不起作用

[英]DistinctBy not working in C#/ Visual Studio 2012

我正在使用 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;

我做错什么了吗?

好的,这有点晚了,但是您不需要安装任何NUGET包来处理DistinctBy请求。 只需添加以下代码行即可将其指向许多预安装的参考之一。

using Microsoft.Ajax.Utilities;

添加后,您可以简单地将.DistinctBy(d => d.Name)放在任何返回的集合的末尾,类似于下面的示例。

var someVariableName = _repositoryName.GetListOfData().DistinctBy(d => d.Name).ToList();

DistincyBy是通过MoreLinq提供的,而不是框架的一部分。 检查您是否安装并引用了 MoreLinq。

DistinctBy 不是 Linq 的一部分。 也许您缺少MoreLinq的 NuGet 包,或者您没有包含自己的扩展方法。

尝试这个:

details.Select(x => x.deviceID).Distinct().ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM