You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需迭代将List<T>转换为List<(T,T)>?(DateTime示例)

解决方案:将List<System.DateTime>转换为连续日期对列表

可以使用LINQ的Zip方法实现,无需手动编写迭代逻辑:

using System.Linq;

// 假设MonthlyDates是你的日期集合
var datePairs = MonthlyDates.Zip(MonthlyDates.Skip(1), (current, next) => (current, next)).ToList();

逻辑说明

  • MonthlyDates.Skip(1) 生成一个跳过原集合第一个元素的新序列,即从第二个日期开始的所有元素
  • Zip 方法会将原序列的每个元素,与跳过第一个元素后的序列的对应元素一一配对,生成(DateTime, DateTime)类型的元组
  • 最后通过ToList()将结果转换为List<(DateTime, DateTime)>类型

比如原集合包含7/31/17、8/31/17、9/29/17等日期时,转换后的集合会得到:(7/31/17, 8/31/17)、(8/31/17, 9/29/17)、(9/29/17, 10/31/17)... 完全符合需求。

内容的提问来源于stack exchange,提问作者Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:02:05