我有点卡住...我有这个结构的HashTable ArrayList:
DataClasses1DataContext csdx = new DataClasses1DataContext();
IQueryable<dataType> dtList = csdx.datatypes.Where(dd => !dd.data_approve_date.Equals(null)).OrderBy(dd => dd.data_sign_date);
dtList = dtList.Where(dt => dt.data_end <= qEnd || dt.data_sign_date <= qEnd);
ArrayList dtList = new ArrayList();
Hashtable dtElement = new Hashtable();
foreach (dataType dtt in dtList.ToList())
{
dtElement["signdate"] = dtt.data_sign_date.Date;
dtElement["end"] = dtt.data_end;
dtElement["sum"] = dtt.data_sum;
dtList.Add(dtElement);
}
qEnd是一年中关闭季度的结束(2014-03-31) 数据来自Linq查询:
signdate:2013-10-05, 结束日期:2014-02-15, 总和:65000
signdate:2014-01-21, 结束日期:2016-01-21, 总和:45000
signdate:2014-03-24, 结束时间:2015-06-24, 总和:95000
我必须通过signdate订购它们并在实际(关闭)年度季度结束。所以上面列表的顺序是:
signdate:2014-01-21, 结束日期:2016-01-21, 总和:45000
signdate:2013-10-05, 结束日期:2014-02-15, 总和:65000
signdate:2014-03-24, 结束时间:2015-06-24, 总和:95000
如您所见,我通过sign_date查询它们,但此列表也不是第二个日期。只有当它在实际的四分之一范围内时才结束。
我该如何执行此任务?
非常感谢!
答案 0 :(得分:0)
不要使用像ArrayList这样的System.Collection类,使用泛型--System.Collection.Generic.List。然后它就像list.OrderBy(a =&gt; a.prop1).OrderBy(b =&gt; b.prop2)
一样简单