簡體   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