最も古いアイテムが配列の最初になるように並べ替えられたアイテムの配列があります。
キューにアイテムをポップすると、最も古いアイテムが最初に来るように、配列からキューをロードしたいと思います。
これどうやってするの?
オブジェクトへの LINQ の使用...
var q = new Queue<T>(array.OrderBy(d => d.date));
編集:おっと、間違った方法です。
配列がすでに最も古いものから最初にソートされていることがわかっている場合は、次を使用できます。
Queue<YourType> q = new Queue<YourType>(yourSortedArray);
配列が事前に並べ替えられていない場合は、LINQを使用して並べ替えることができます。
Queue<YourType> q =
new Queue<YourType>(yourUnsortedArray.OrderBy(x => x.YourDateProperty));
次に、電話をかけるだけq.Dequeue
で、アイテムを古いものから新しいものの順に取得できます。
これを試して
public static T ArrayToQueue<T>(T[] items) {
var queue = new Queue<T>();
Array.ForEach(items, i => queue.Enqueue(i));
return queue;
}