分组为连续整数范围
我检查了其他帖子,包括 使用 Linq 按变量整数范围分组,
但是我没有找到任何与我的问题类似的内容...我试图将整数序列分组为不连续的整数范围。例如,如果我有一组从 1 到 100 的连续整数,然后我的集合跳过 101,我想创建一个记录,该记录从记录 #1 和 #100 获取日期,其中记录 #1 的日期是开始日期,#100 是结束日期。
每个连续整数范围都会创建一个新记录,以添加到指示该范围开始和结束日期的记录列表中。如果范围仅包含一个整数值(例如,整数范围为 1-100、102 和 104-200),则单个整数范围将具有相同的开始和结束日期。
有什么建议吗?
I have checked other postings including Group by variable integer range using Linq
but i have not found anything that is similar to my question...I am trying to group into integer ranges where the integer sequence is discontinuous. For example, if i have a set of continuous integers from 1-100 and then my set skips 101, i would want to create a record that takes the date from record #1 and #100, where the date from record #1 is the begin date and #100 is the end date.
Each range of continuous integers creates a new record to add to a list of records that indicate the date at the start and end of the range. if the range contains only one integer value (e.g. the integer ranges go from 1-100, 102, and 104-200) the single integer range would have the same start and end date.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以创建一个扩展方法来执行此操作:
用法:
输出:
You can make an extension method that will do this:
Usage:
Output:
我不知道您是否能够使用提供的 LINQ 函数来执行此操作,但以下函数:
使用如下:
可能符合要求。
I don't know if you'd be able to do this using the provided LINQ functions, but the following function:
used as follows:
may fit the bill.
这是我创建的一个示例类,可能会有所帮助。它将整数序列转换为一组范围。该代码在 LINQPad 中运行。
Here's a sample class I created that might help. It converts a sequence of integers into a set of ranges. The code works in LINQPad.