Linq to Objects - 从数字列表中返回数字对

2024-01-31

var nums = new[]{ 1, 2, 3, 4, 5, 6, 7};
var pairs  = /* some linq magic here*/ ;

=> 对 = { {1, 2}, {3, 4}, {5, 6}, {7, 0} }

的要素pairs应该是二元素列表,或者是带有两个字段的匿名类的实例,比如new {First = 1, Second = 2}.


默认的 linq 方法都无法通过一次扫描来延迟执行此操作。压缩序列本身会进行两次扫描,并且分组并不完全是懒惰的。最好的选择是直接实现它:

public static IEnumerable<T[]> Partition<T>(this IEnumerable<T> sequence, int partitionSize) {
    Contract.Requires(sequence != null)
    Contract.Requires(partitionSize > 0)

    var buffer = new T[partitionSize];
    var n = 0;
    foreach (var item in sequence) {
        buffer[n] = item;
        n += 1;
        if (n == partitionSize) {
            yield return buffer;
            buffer = new T[partitionSize];
            n = 0;
        }
    }
    //partial leftovers
    if (n > 0) yield return buffer;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linq to Objects - 从数字列表中返回数字对 的相关文章

  • Tensorflow 中的自定义资源

    由于某些原因 我需要为 Tensorflow 实现自定义资源 我试图从查找表实现中获得灵感 如果我理解得好的话 我需要实现3个TF操作 创建我的资源 资源的初始化 例如 在查找表的情况下填充哈希表 执行查找 查找 查询步骤 为了促进实施 我
  • C++ 中的软(不是:弱)引用 - 这可能吗?有实施吗?

    在 C 中我正在使用boost shared ptr and boost weak ptr自动删除不再需要的对象 我知道这些与引用计数一起工作 在 Java 中 内存由垃圾收集器管理 它将内置对象引用视为strong WeakReferen
  • 使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值

    我想与 Python 共享这个特定的 Apache Spark 解决方案 因为它的文档非常贫乏 我想通过 KEY 计算 K V 对 存储在 Pairwise RDD 中 的平均值 示例数据如下所示 gt gt gt rdd1 take 10
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 为什么基类必须有一个带有 0 个参数的构造函数?

    这不会编译 namespace Constructor0Args class Base public Base int x class Derived Base class Program static void Main string a
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS

随机推荐

  • 如何将姓名电话键盘键盘类型的号码侧设置为默认(键盘打开时)

    现在 当键盘在我的应用程序上启动时 它默认在字母侧显示字母键盘 问题将在下面的图片中列出 参考下图 This is good 单击 123 将显示数字面 问题 但是 我希望默认显示数字侧 并且稍后在键盘打开时仍然能够切换回字母侧 我该怎么做
  • 如何正确关闭流?

    我被分配了一项任务来编写一个程序 该程序将 打开一个文件 阅读内容 将特定单词替换为另一个单词 保存对文件的更改 我确信我的代码可以打开 读取和替换单词 当我添加 保存对文件的更改 部分时 出现问题 这是代码 open System IO
  • 如何设置每秒重复次数?

    我使用 while 循环在程序中重复我的代码 我想每秒重复一个代码 1000 次 我怎样才能做到这一点 For the 固定延迟执行对于某些代码 使用 a 可能是更好的方法定时器对象 例如java util Timer https docs
  • FOSUserBundle ,法语翻译被忽略

    我是 symfony 的新用户 我目前正在学习课程 全职 我的问题 app config config yml framework translator fallback locale app config parameters ini 我
  • 如果 iMacros 页面中存在文本,请单击按钮

    我正在尝试将 iMacros 与 Firefox 结合使用 仅当页面上存在此代码时单击 取消关注 按钮
  • XAML中UI设计的优点

    在WPF中 我可以使用 NET 2 0风格 如designer cs 制作我的UI 我的问题是使用XAML而不是代码进行UI设计有什么优势 主要优点是 如果您将标记和代码保持干净的分离 例如 通过应用MVVM模式 http msdn mic
  • 分发可执行文件时缺少 MSVCP140D.dll

    我已经做了加密应用程序 https github com Cewein Crypto h releases在 Visual Studio 2017 中 它在我的电脑上工作正常 但是当我在没有 Visual Studio 的情况下将可执行文件
  • 如何在.net core 2应用程序中从控制器设置OpenIdConnect选项提示“login”?

    我正在使用 net core 2 应用程序 并已将 OpenIDConnect 选项提示参数设置为在 Startup cs 的 ConfigureServices 方法中同意 AddOpenIdConnect options gt opti
  • 为什么新视图控制器中的表视图不显示?迅速

    这是以下问题的后续 如何调用进行 API 调用的类的实例以及该类中发出请求的函数 并将其分配给变量 迅速 https stackoverflow com questions 72400226 how to call an instance
  • Struts2 当index是变量时访问列表的特定索引

    当索引是变量时 我在访问列表的特定元素时遇到一些问题 当索引只是一个数字时 我在显示我要查找的内容时完全没有问题
  • HXT:在Haskell中使用HXT按位置选择节点?

    我正在尝试使用 Haskell 解析一些 XML 文件 对于这项工作我正在使用HXT http www haskell org haskellwiki HXT获得有关现实世界应用中箭头的一些知识 所以我对箭头主题很陌生 在 XPath 中
  • FFmpeg - 连接具有不同时基的视频[重复]

    这个问题在这里已经有答案了 我正在尝试使用 concat demuxer 连接视频 但在使用一个视频 下面的 video2 mp4 时它不起作用 所谓不起作用 我的意思是在播放器上播放串联视频将起作用 直到第二个视频部分开始 它只是无法再读
  • 流程调度

    假设我有 10 个脚本想要作为 cron 作业定期运行 但是 我不希望它们全部同时运行 我只希望其中两个同时运行 我想到的一种解决方案是创建两个脚本 在每个脚本上放置 5 个语句 并将它们作为 crontab 中的单独条目 然而 该解决方案
  • RadioGroup checkButton 属性

    我正在尝试在 Android 中构建 RadioGroup 并默认选中一个 RadioButton 我想知道是否可以通过 XML 而不是以编程方式来完成此操作 以下代码片段似乎不起作用 因为我收到错误 error Error No reso
  • Apache/Django:导入错误:没有名为“my_project”的模块

    尝试使用 apache2 和 mod wsgi 托管我的 django 项目 我尝试了各种配置 但在浏览器中访问该网站时不断出现导入错误 例如 Traceback most recent call last File home user p
  • 不使用 sqrt 函数求平方根?

    我正在寻找不使用 sqrt 函数来求平方根的算法 然后尝试进行编程 我最终得到了 C 中的工作代码 include
  • SQLAlchemy 错误:“TypeError:附加参数应命名为 <方言名称>_<参数>,得到‘可为空’”

    Problem 在遵循 Flash 使用教程时 我在使用 Flask 时遇到错误 因为我是一名基础的 Python 程序员 所以我不明白它为什么或者有什么问题 因此 如果您不介意解释它或添加解释链接 控制台打印错误 不知道什么是重要的 抱歉
  • Textshadow 不适用于 CUFON

    我正在尝试按照我在网上找到的一些示例对 Cufon 应用文本阴影效果 但它不起作用 在添加文本阴影位之前 我的代码是 Cufon replace h3 upper 效果非常好 然后我补充道 Cufon replace h3 upper te
  • R markdown 中是否存在将代码复制到剪贴板选项

    R markdown 中是否存在复制到剪贴板的按钮 It exists in Quarto with the code copy option and with pkgdown websites but is it possible to
  • Linq to Objects - 从数字列表中返回数字对

    var nums new 1 2 3 4 5 6 7 var pairs some linq magic here gt 对 1 2 3 4 5 6 7 0 的要素pairs应该是二元素列表 或者是带有两个字段的匿名类的实例 比如new F