我想比较linq中两个值的月份部分,但我得到一个错误
属性或索引器DateTime.Month无法分配给
这是代码
var item = model.Where(d => d.DATE2.Date.Month = dto.StartDate.Month).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
model 是具有日期时间属性的对象列表,dto.Startdate也是日期时间
如果您仔细阅读错误消息,则可能无法提出此问题,因为它足够清楚.无论如何,你必须在==这里用来比较两个值,=用于分配目的(基础知识).进行此小更改后,您的查询将如下所示:
var item = model.Where(d => d.DATE2.Date.Month == dto.StartDate.Month).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
你可以让它们更加简单的使用FirstOrDefault了,而不是Where像这样:
var item = model.FirstOrDefault(d => d.DATE2.Date.Month == dto.StartDate.Month);
Run Code Online (Sandbox Code Playgroud)