-2

I have three classes :

public class QData
{ 
    public List<RData> Items { get; set; }
    public List<QDay> Dates { get; set; } 
} 
public class QDay 
{
    public string Date { get; set; }
    public List<RData> Details { get; set; } 
}

public class RData
{ 
    public string Name { get; set; }
    public int Quantity { get; set; }
}

my list is

List<QData> myList;

What is the most effective way to sort the list (*QData type) by Date, the Date is string.

4

3 回答 3

0

这是一个使用日期列表中的第一个日期进行排序的示例。我无法想象你为什么会想要这样做,但它就在这里。我怀疑让 Dates 成为一个列表是一个错误,实际上你只想要一个日期。

var sortedList = MyList.OrderBy(element => DateTime.Parse(element.Dates.First().Date));

我认为这就是你真正想要的......只有一个列表:

public class QData
{ 
    RData itemInfo { get; set;}
    QDay dateInfo { get; set; }
}

然后你的排序看起来像这样:

var sortedList = MyList.OrderBy(element => DateTime.Parse(element.dateInfo.Date));
于 2013-10-20T12:53:05.903 回答
0

也许这就是你需要的:

var result = myList.Select(qData => new QData()
    {
        Items = qData.Items,
        Dates = qData.Dates.OrderBy(qDay => DateTime.Parse(qDay.Date)).ToList();
    }).ToList();

可能会修改调用以DateTime.Parse适应qDay.Date属性中的日期格式。

于 2013-10-20T13:10:15.280 回答
-1
 var temp = (from e in myList.Dates
                    orderby DateTime.Parse(e.Date)
                    select e
                   ).ToList();
  myList.Dates = temp;
于 2013-10-20T13:25:07.540 回答