-1

two から取得した次のデータがありますtextbox。時間で降順に並べ替えたいと思います。Dictionary を使用してみましたが、重複する値を挿入できません。何か案は?

ID     time                             ID       time
4       10                              15        19       
12      13      WANT SORTED BY TIME     12        13
15      19      ---->>                  12        13
4       10                              4         10 
12      13                              4         10
4

3 に答える 3

6

ディクショナリではキーの重複が許可されないため、ID値が明らかに一意のキー値ではないため、ここでは必要ありません。

データを保持するクラスを作成し、Linq の OrderByDescending を使用して並べ替えます。

public class MyTimeData {
   public int ID { get; set; }
   public int Time { get; set; }
}

var list = new List<MyTimeData>();
// Add items to the list
list = list.OrderByDescending(d => d.Time).ToList();
于 2013-08-13T18:39:26.407 に答える
0
yourList.OrderByDescending(x => x.Time);
于 2013-08-13T18:40:20.017 に答える
0

LINQ が利用できない場合、または興味のあるものがある場合の別のオプションは、SortedListデータ構造 (デフォルトでは昇順であるため、順序を逆にして降順にすることができます) であり、次のように使用できます。

public class MyTimeData {
    public int ID { get; set; }
    public int Time { get; set; }
}

var list = new SortedList<MyTimeData>();

// Add items to sorted list

// Reverse to make it descending
var listDescending = list.Reverse();  

foreach (var item in listDescending)
{
    // Do something with item
}
于 2013-08-13T18:44:39.553 に答える