在 LINQ 中按月和年分组多个日期属性

2023-11-27

我需要按月份和年份对多个属性进行分组C# LINQ

这是我的代码:

public class Class1
{
    public Nullable<DateTime> dt1 { get; set; }
    public Nullable<DateTime> dt2 { get; set; }
}

Class1 obj1 = new Class1 { dt1 = new DateTime(2012, 11, 12),
                           dt2 = new DateTime(2012, 12, 12) };
Class1 obj2 = new Class1 { dt1 = new DateTime(2012, 11, 12),
                           dt2 = new DateTime(2012, 12, 12) };
Class1 obj3 = new Class1 { dt1 = null, dt2 = new DateTime(2012, 10, 12) };
Class1 obj4 = new Class1 { dt1 = new DateTime(2012, 10, 12), dt2 = null };
Class1 obj5 = new Class1 { dt1 = null, dt2 = new DateTime(2012, 11, 12) };
Class1 obj6 = new Class1 { dt1 = new DateTime(2013, 10, 12), dt2 = null };

List<Class1> listGoogleTimezone = new List<Class1>
{
    obj1,
    obj2,
    obj3,
    obj4,
    obj5,
    obj6
};

我需要的结果是这样的

MONTH YEAR   COUNT
OCT   2012   2
NOV   2012   3
DEC   2012   2

帮帮我


您需要使用收集所有日期SelectMany(在这种特殊情况下过滤掉null值),然后执行典型的GroupBy / Count投影:

var result = listGoogleTimezone
    .SelectMany(x => new[] { x.dt1, x.dt2 }.Where(dt => dt != null).Select(dt => dt.Value))
    .GroupBy(dt => new { dt.Month, dt.Year })
    .OrderBy(g => g.Key.Year).ThenBy(g => g.Key.Month) // optional
    .Select(g => new
    {
        g.Key.Month,
        g.Key.Year,
        Count = g.Count()
    }).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 LINQ 中按月和年分组多个日期属性 的相关文章

  • 如何使用最小起订量模拟私有只读 IList 属性

    我试图嘲笑这个列表 private readonly IList
  • 是否有可能将 *.pdb 文件包含到发布版本中以查看错误行号?

    我做了一个项目 所有设置都是默认的 当我在调试模式 构建配置 调试 下运行它并遇到异常时 它转储到我的自定义日志记录机制 其中包含错误行号 但是当我运行发布构建时 记录相同的异常 没有行号 只有方法抛出和记录调用堆栈 是否有可能在发布配置
  • 在异步请求中使用超时回调

    我之前问过这个问题 但我将用提出的解决方案来完成这个问题 并提出另一个问题 我正在使用这个类来进行异步网络请求 http msdn microsoft com en us library system net webrequest aspx
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • ASMX Web 服务,测试表单仅在本地计算机上适用于一种 WebMethod

    我有一个正在测试的 ASMX WebService 并且在大多数方法上我都可以使用测试表单进行测试 然而 我确实有一种方法 测试表上写着 The test form is only available for requests from t
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • PartialView Action 正在调用自身

    我有 MVC 应用程序 它用于从主视图 ProductMaster 将 ProductAreaGrid 列表显示为 PartialView 并且它将在局部视图内将 CreateProductArea 作为 PartialView 我的 Gr
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    我有一个预制的 Word 模板 其中有一个表格 我想打开它 然后在文档末尾添加 粘贴 另一个表格 问题是它不会转到文档的末尾 而是将新表格粘贴到原始表格的第一个单元格中 任何帮助将不胜感激 previous code copied a ta
  • 删除数组时出现访问冲突异常

    删除分配的内存时 出现 访问冲突读取位置 异常 如下所示 我有一个针对 Visual Studio 2010 工具集 v100 C 编译器编译的本机 dll 我有一个针对它的托管 dll 包装器 它是针对工具集 v90 编译的 因为我想以
  • 文本框中“结束编辑”的事件

    我正在 winform c 中使用文本框 并使用文本在数据库中进行查询 但每次文本更改时 我都需要不断查阅文本框的文本 因此 对于这些 我使用 KeyUp 但这个活动太慢了 文本框编辑完成后是否会触发任何事件 我考虑完成2个条件 控制失去焦
  • 如何在 SQLite 中检查数据库是否存在 C#

    我目前正在用 C 编写一个应用程序 并使用 sqlite 作为嵌入式数据库 我的应用程序在启动时创建一个新数据库 但如何让它检查数据库是否存在 如果它确实存在 我如何让它使用它 如果不存在如何创建一个新数据库 这是我到目前为止所拥有的 pr
  • 动态菜单创建IoC

    我想知道是否有人知道我如何创建如何使用 AutoFac 之类的东西来让我动态地允许 dll 创建自己的表单和菜单项以在运行时调用它们 所以如果我有一个 员工 dll 新入门表格 证书表格 供应商 dll 供应商详细信息来自 产品形态 在我的
  • Swift 3 将日期截断为日/月/年开始的简单方法

    有没有像我们在 Oracle 数据库中所做的那样简单的方法来截断日期 例如 我需要从午夜开始设置值 在 Oracle 中我可以执行 TRUNC SYSDATE 但我在 Swift 中看不到类似的方法 我检查了 StackOverflow 并
  • 在 C# 窗口应用程序中运行 C/C++ 控制台应用程序?

    现在 我想开发一个简单的应用程序 因此我决定最快的编码方式是 C NET 但现在 我很难实现我需要的功能之一 我想做的是在 C 应用程序的窗口内运行 C C 控制台应用程序 就像在虚幻前端中一样 添加一点通信方式 以便我可以为控制台应用程序
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 是否可以检测流是否已被客户端关闭?

    简要介绍一下情况 我有一项服务可以通过套接字接收信息并发送回复 连接不安全 我想设置另一个可以为这些连接提供 TLS 的服务 这个新服务将提供单个端口并根据提供的客户端证书分发连接 我不想使用 stunnel 有几个原因 其中之一是每个接收

随机推荐

  • 在C中将int转换为char

    现在我正在尝试在 C 编程中将 int 转换为 char 经过研究 我发现我应该能够这样做 int value 10 char result char value 我想要的是返回 A 0 9 返回 0 9 但我认为这会返回一个新行字符 我的
  • 如何检查变量或对象是否未定义?

    我一直以为我可以通过将未定义的变量与未定义的变量进行比较来检查它 但这是我在 chrome 控制台中收到的错误 我如何检查 jQuery 对象是否未定义 EDIT if jQuery 也给我带来了问题 EDIT 解决方案 if window
  • 使用 Google Analytics 进行 Flutter 日志事件

    我已经在我的 flutter 应用程序中设置了 Google Analytics 这一切似乎都按标准运行 数据通过并显示在分析控制台屏幕上 向用户显示 事件计数之类的事情 我看到默认事件是 user engagement screen vi
  • CakePHP 3.0 -> 查找条件之间

    是否可以执行 BETWEEN AND cakephp 2 5 中的条件类似于 cakephp 2 5 在 cakephp 2 5 中我写了类似的东西 conditions gt start date BETWEEN AND gt 2014
  • 如何使用 css 隐藏元素,同时仍将其保留在页面上?

    我试图隐藏页面上的一个元素 但我仍然希望它存在 我想要一个仍然可以单击的按钮 但我希 望它不可见 隐藏元素并保持页面位置的方法有3种 您可以获得有关之间的更多信息正常流量和css样式 即 opcity visibility 属性关系 能见度
  • java.lang.IllegalStateException:恢复下溢 - 恢复多于保存

    我在用rippleeffect library对于我的项目 但在Android Nougat and Marshmallow 应用程序因该库而崩溃 compile com github traex rippleeffect library
  • sqlite 将“dd.MM.yyyy”格式字符串转换为日期

    我的 android 上有一个 sqlite 数据库 其中有一个日期时间列 其中包含格式为 dd MM yyyy 的日期 这不是我的数据库 我无法更改日期格式 我想将数据库中的日期与代表第二个日期的字符串进行比较 但我尝试的一切都失败了 如
  • 带 mexCallMATLAB 的 Matlab mex 文件几乎比相应的 m 文件慢 300 倍

    我开始用 C 实现一些 m 文件以减少运行时间 m 文件生成 n 维点并计算这些点处的函数值 这些函数是用户定义的 它们作为函数句柄传递到 m 文件和 mex 文件 mex 文件使用 mexCallMATLAB 和 feval 来查找函数值
  • 如何在 Spring Data MongoDB 中使用乐观锁?

    我正在经历Spring Data MongoDB 参考文档我发现这些例子有点过于简单化 特别是我试图了解如何在并发环境中处理过时的数据 例如 假设我有以下实体 public class Person private final String
  • 在 Android 中将视图放置在 FrameLayout 中

    我想以编程方式在 FrameLayout 内添加视图 并将其放置在具有特定宽度和高度的布局内的特定点中 FrameLayout支持这个吗 如果不是 我应该使用中间 ViewGroup 来实现此目的吗 int x Can be negativ
  • 为什么我会收到 int.class 转换的类转换异常

    在下面的程序中我不明白为什么有ClassCastException为演员从int class Update 我应该指定我知道什么是原始类型 What I don t understand is why int class is provid
  • `zip` 和 `zip_longest` 之间是否有中间立场

    假设我有这三个列表 a 1 2 3 4 b 5 6 7 8 9 c 10 11 12 是否有一个内置函数 somezip a b 1 5 2 6 3 7 4 8 somezip a c 1 10 2 11 3 12 4 None 行为介于两
  • 如何使用 WiX 为关联文件设置图标?

    我的应用程序安装文件是使用 WiX 生成的 在 WiX 配置中 我关联了与应用程序一起使用的文件类型 如何在 WiX 配置中将图标与此文件类型相关联 FROM https www firegiant com wix tutorial get
  • 如何使用存储删除然后恢复非索引更改,而不会在 git 中出现合并冲突?

    我希望能够使用索引的当前状态运行项目测试 忽略未提交的工作更改 我稍后计划将其添加到预提交挂钩中 但是 我无法弄清楚如何以永远不会导致合并冲突的方式删除然后恢复非索引更改 我需要这个 因为它是由脚本运行的 所以完成后它不应该改变存储库状态
  • 使用 Ruby 从 HTML 文档中删除文本

    有很多关于如何使用 Ruby 从文档中删除 HTML 标签的示例 Hpricot 和 Nokogiri 都有 inside text 方法 可以轻松快速地为您删除所有 HTML 我想做的恰恰相反 从 HTML 文档中删除所有文本 只留下标签
  • javascript 中的正则表达式非捕获组

    我对我的正则表达式和 JavaScript 有点生疏 我有以下字符串变量 var subject javascript loadNewsItemWithIndex 5 null 我想提取5使用正则表达式 这是我的正则表达式 loadNews
  • PHP 将 GMT 转换为 IST [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我可以在 PHP 中将 GMT 转换为 IST 而不使用 PEAR 这是我如何获
  • R 闪亮的双向反应式小部件

    我正在努力弄清楚如何让 2 R Shiny 小部件相互更新 例如 可以更新文本框小部件的滑块小部件 反之亦然 最终用户可以选择使用任一小部件 这个问题很相似 但没有答案 所以我给出 希望 一个更简单的例子 检索由shiny reactive
  • pytorch 摘要因 Huggingface 模型而失败

    我想要一个总结PyTorch从huggingface下载的模型 我在这里做错了什么吗 from torchinfo import summary from transformers import AutoModelForSequenceCl
  • 在 LINQ 中按月和年分组多个日期属性

    我需要按月份和年份对多个属性进行分组C LINQ 这是我的代码 public class Class1 public Nullable