假设我在一个名为'array'的数组中有这个列表:
[0]a.1
[1]b.1
[2]c.1
[3]d.1
[4]e.2
[5]f.2
[6]g.2
[7]h.3
Run Code Online (Sandbox Code Playgroud)
我想用C#将它缩小到一个列表中最多有两个相同数字的列表,所以它看起来像这样:
[0]a.1
[1]b.1
[2]e.2
[3]f.2
[4]h.3
Run Code Online (Sandbox Code Playgroud)
我试图使用'GroupBy':
var Groups = array.GroupBy(i => i);
var Result = Groups.SelectMany(iGroup => iGroup.Take(2)).ToArray();
Run Code Online (Sandbox Code Playgroud)
但我不确定如何只考虑点后的内容,而不是整个项目
我有一个清单:
dave
maggie
john
stuart
john
john
dave
john
maggie
maggie
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
john
john
john
john
maggie
maggie
maggie
dave
dave
stuart
Run Code Online (Sandbox Code Playgroud) 假设我有这个清单:
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();
Run Code Online (Sandbox Code Playgroud)
但是不知道如何才能带来最大数量的相同值