【发布时间】:2011-12-14 12:28:16
【问题描述】:
我有以下对象的列表:
public class Item
{
public DateTime DliveryDate { get; set; }
public String Order { get; set; }
}
如何使用 LINQ 按日期对 List<Item> 进行分组?
我使用了以下查询,但在按日期分组时没有得到例外结果得到一个垃圾日期为 0001/1/1 的 List 对象
var r = from i in Items
group i by i.DliveryDate into s
select s;
【问题讨论】:
-
这里的
Date类型是什么?特别是,它是否覆盖Equals和GetHashCode(或实现IEquatable<Date>)?另外,请向我们提供您在尝试时看到的详细信息,而不仅仅是“没有得到任何好的结果”。阅读tinyurl.com/so-hints 以获取有关提出好问题的提示。 -
@JonSkeet 感谢您的评论,我已经更新了问题
-
您已对其进行了更新,以提供 一些 更多信息,但没有提供 足够 信息,也没有任何迹象表明您的日期开始时有效。 ..(哦,
DliveryDate是什么?你只显示了ChangeDateTime。) -
@Sudentha,您确定您的 DliveryDate 已正确初始化吗? “0001/1/1”似乎是日期时间的默认值。
-
@Sudantha:请展示一个简短但完整的示例来说明问题。请注意,您仍然在 cmets 中谈论
ChangeDateTime,尽管这不再是问题...