首页 > 解决方案 > 按位置创建唯一列表c#

问题描述

从列表中按顺序获取所有不同项目的最有效方法是什么?

我有一个 List<KeyValuePair<string, string>> 可能有多个重复项,并且只需要列表中的唯一值。

例如,

name : Orange
actualname : Orango
name : Lime
fullname : Lime Lime
actualname : Limo

我的预期输出是,

name
fullname
actualname

试过了,

arrayKeys.Select(pair => pair.Key).Distinct().ToArray() 但与我预期输出的顺序不匹配

标签: c#.netlistlinq

解决方案


你可以试试

var distinctKeys = yourList.Select(x => x.Key).Distinct().ToList();

首先,您选择每个键KeyValuePairDistinct()创建一个 distinct IEnumerable,然后将其转换为列表。

在线演示:https ://dotnetfiddle.net/N3GUui


推荐阅读