从Linq查询表达式返回的数组数据不正确
本文关键字:数组 数据 不正确 返回 表达式 Linq 查询 查询表 | 更新日期: 2023-09-27 18:21:56
请看下面的代码,在第9行,我正在计算一些要向前移动的日期,所以我使用AddDays
方法,但作为回报,我得到所有行的所有日期都相同。
如果我这样做AddDays(6)
,那么它通过将所有日期移动6天来正确返回。
在这一点上,我应该如何根据我的逻辑来增加天数。
[DataContract]
public class JQGridRow
{
[DataMember]
public long id;
[DataMember]
public object[] cell;
}
var sortedItems = invBatch.ListOfItems.OrderBy(i => i.RunDateIndex);//This will return IEnumerable<Class> List
DateTime startDate = DateTime.Parse(lblStartDate.Text);
JQGrid.JQGridRow[] rowData = (
from i in sortedItems
select new JQGrid.JQGridRow() {
id = i.ID,
cell = new string[] {
i.ID.ToString(),
i.Status.ToString(),
i.StatusTitle,
i.RunDate.AddDays((startDate.Subtract(i.RunDate)).Days+1).ToString(Utility.DATE_FORMAT),
//Here in above line the array returning same values for all columns of this row
i.StartTimeString,
i.EndTimeString,
i.EndTime.ToString(),
}}).ToArray();
日期都是相同的,并且在startDate
之后的第二天相等,因为您是这样计算它们的。
i.RunDate.AddDays((startDate.Subtract(i.RunDate)).Days+1)
四舍五入到一整天,计算RunDate+(startDateRunDate+1)=startDate+1。i.RunDate
无关紧要。