C# 是否可以在LINQ中按计数分组?

C# 是否可以在LINQ中按计数分组?,c#,linq,grouping,C#,Linq,Grouping,这可能是不可能的,也可能是显而易见的,我一直在忽略它 我有一个对象列表(在本例中,假设为int): 有一种非常现实的可能性,我可能从错误的角度来处理这个问题,然而,目标是以恒定的容量对一组对象进行分组。非常感谢您的帮助。您是说: List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6 }; IEnumerable<IGrouping<int,int>> groups = list .Se

这可能是不可能的,也可能是显而易见的,我一直在忽略它

我有一个对象列表(在本例中,假设为int):

有一种非常现实的可能性,我可能从错误的角度来处理这个问题,然而,目标是以恒定的容量对一组对象进行分组。非常感谢您的帮助。

您是说:

List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6 };

IEnumerable<IGrouping<int,int>> groups =
   list
   .Select((n, i) => new { Group = i / 2, Value = n })
   .GroupBy(g => g.Group, g => g.Value);

foreach (IGrouping<int, int> group in groups) {
   Console.WriteLine(String.Join(", ", group.Select(n=>n.ToString()).ToArray()));
}

你可以这样做

 List<int> integers = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

 var p = integers.Select((x, index) => new { Num = index / 2, Val = x })
                 .GroupBy(y => y.Num);
List integers=newlist(){1,2,3,4,5,6,7,8,9};
var p=integers.Select((x,index)=>new{Num=index/2,Val=x})
.GroupBy(y=>y.Num);
int计数器=0;
//此函数用于返回组的键。
Func键生成器=
() =>
{
int keyValue=计数器/2;
计数器+=1;
返回键值;
};
var groups=list.GroupBy(i=>{return keyGenerator()});

结果是什么?一个有{1}的分组,另一个有{2}的分组,分组将是一对,即{1,2},{3,4},等等,你能让小家伙有时得到一些吗:D
List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6 };

IEnumerable<IGrouping<int,int>> groups =
   list
   .Select((n, i) => new { Group = i / 2, Value = n })
   .GroupBy(g => g.Group, g => g.Value);

foreach (IGrouping<int, int> group in groups) {
   Console.WriteLine(String.Join(", ", group.Select(n=>n.ToString()).ToArray()));
}
1, 2
3, 4
5, 6
 List<int> integers = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

 var p = integers.Select((x, index) => new { Num = index / 2, Val = x })
                 .GroupBy(y => y.Num);
    int counter = 0;
    // this function returns the keys for our groups.
    Func<int> keyGenerator =
      () =>
      {
         int keyValue = counter / 2;
         counter += 1;
         return keyValue;
      };

   var groups = list.GroupBy(i => {return keyGenerator()});