-2

私は3つのクラスを持っています:

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; }
}

私のリストは

List<QData> myList;

リスト (*QData タイプ) を日付でソートする最も効果的な方法は何ですか。日付は文字列です。

4

3 に答える 3

0

Dates リストの最初の日付を使用して並べ替える例を次に示します。なぜこれをやりたいのか想像できませんが、ここにあります。Dates をリストにするのは間違いだと思います。実際、必要な日付は 1 つだけです。

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

これはあなたが実際に望んでいるものだと思います... 1つのリストのみ:

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 に答える