将月份与linq进行比较

pro*_*eus -5 c# linq datetime

我想比较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也是日期时间

suj*_*lil 6

如果您仔细阅读错误消息,则可能无法提出此问题,因为它足够清楚.无论如何,你必须在==这里用来比较两个值,=用于分配目的(基础知识).进行此小更改后,您的查询将如下所示:

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)