首页 > 后端开发 > C++ > 如何使用 LINQ 将集合拆分为多个部分?

如何使用 LINQ 将集合拆分为多个部分?

DDD
发布: 2025-01-20 03:41:09
原创
647 人浏览过

How Can I Split a Collection into Multiple Parts Using LINQ?

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

本文探讨数据分析和编程中一个常见问题:将集合分割成n个不同的子集。

LINQ解决方案:

LINQ为此任务提供了一个简洁优雅的解决方案。以下扩展方法Split<T>实现了预期结果:

<code class="language-csharp">static class LinqExtensions
{
    public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts)
    {
        int i = 0;
        var splits = from item in list
                     group item by i++ % parts into part
                     select part.AsEnumerable();
        return splits;
    }
}</code>
登录后复制

说明:

  • Split<T>方法接受两个参数:输入集合(list)和要将其分割成的部分数(parts)。
  • 它将计数器i初始化为零,这将用作分组元素的索引。
  • 该方法使用group by语法根据iparts的模来创建组。这确保元素根据其在原始集合中的位置分配到不同的部分。
  • 最后,结果被投影以生成IEnumerable<T>对象的集合,每个对象代表原始集合的一部分。

此解决方案提供了一种方便易读的方法,可以使用LINQ将集合拆分为多个子集。

以上是如何使用 LINQ 将集合拆分为多个部分?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板