【问题标题】:max amount of same item in a list with C#C# 列表中相同项目的最大数量
【发布时间】:2016-08-09 12:43:21
【问题描述】:

假设我有这个列表:

1 1 1 1 2 2 2 3

我想用 C# 将它缩小到一个列表中最多包含两个相同项目的列表,所以它看起来像这样:

1 1 2 2 3

我曾经这样使用'distinct':

string[] array = System.IO.File.ReadAllLines(@"C:\list.txt");
List<string> list = new List<string>(array);
List<string> distinct = list.Distinct().ToList();

但不知道它如何带来最大数量的相同值

【问题讨论】:

  • 好主意。到目前为止,您尝试了什么?
  • 我同意以上所有内容,除了好主意
  • 好吧,我试过了:string[] array = System.IO.File.ReadAllLines(@"C:\list.txt");列表 列表 = 新列表(数组); List distinct = list.Distinct().ToList();但显然它只会带来不同的项目
  • @LukasMorkunas 您应该编辑问题以包含该代码,而不是将其放入评论中。
  • 不不不,将您的实质性信息放在您的问题中,而不是在 cmets 中!

标签: c# arrays list sorting max


【解决方案1】:

您可以使用 Linq 进行如下操作。

var Groups = Input.GroupBy( i => i );
var Result = Groups.SelectMany( iGroup => iGroup.Take(2) ).ToArray();

【讨论】:

  • 顺便说一句,我喜欢你的名字。
  • 嗯,谢谢,我尝试了几次来弥补!
  • 我会赞成一个刚刚说了几次 codor 的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-06
  • 2018-03-09
相关资源
最近更新 更多