使用LINQ创建子数组

13 浏览
0 Comments

使用LINQ创建子数组

可能是重复问题:

将列表拆分为子列表的LINQ方法

使用LINQ将集合拆分为n个部分

我有一个像这样的数组:

[1,2,4,5.....n]

我想将它转换为如下的子数组:

[

[1,2,3],

[4,5,6],

...

]

基本上,我想将数组分组为n个成员的组

是否有任何LINQ函数可以帮助我完成这个任务?

我考虑过GroupBy或SelectMany,但我还没有想出如何做到这一点

请注意,我已经使用foreach语句完成了这个任务,但我希望使用LINQ来完成。

0
0 Comments

创建子数组是在编程中经常会遇到的一个需求。例如,在给定一个整数数组的情况下,我们可能想要将其分割成多个子数组,以便更方便地处理数据。在这个示例中,我们有一个整数数组ar = [1,2,3,4,5,6],我们想要将其分割成每个子数组包含3个元素。

解决这个问题的方法是使用LINQ(Language-Integrated Query)技术。LINQ是一种用于查询和操作各种数据源的编程模型,它提供了一种简洁和灵活的方式来处理数据。在这个示例中,我们使用LINQ的一些方法来实现子数组的创建。

首先,我们使用Select方法来创建一个新的匿名类型对象。对于每个数组元素e,我们计算它的索引i并将其除以3,得到一个整数值p。这样,我们就可以将原始数组的元素e映射到p上,并创建一个新的对象,包含原始元素e和对应的p值。

接下来,我们使用GroupBy方法将新创建的对象按照p值进行分组。这样,我们就可以将具有相同p值的元素放在同一个组中。

然后,我们再次使用Select方法,这次是在每个组上进行操作。对于每个组g,我们使用Select方法从每个元素e中选择原始的元素值,并将它们转换为一个新的子数组。

最后,我们使用ToArray方法将每个子数组转换为数组,并使用ToArray方法将所有子数组转换为一个数组。这样,我们就得到了最终的结果,一个包含多个子数组的数组。

在这个示例中,我们通过使用LINQ的一些方法,以一种简洁和灵活的方式创建了子数组。这种方法不仅可以用于整数数组,还可以用于其他类型的数据。通过使用LINQ,我们可以更方便地处理和操作数据,提高代码的可读性和可维护性。

0