我有一個按元素的Name屬性排序的元素集合。我需要在維持訂單的同時在集合中插入一個新元素。我正在尋找一個簡潔的LINQ方式來做到這一點。我的代碼在下面。 「this.Children」是集合,「d」是我需要插入的新元素。它需要兩次通過集合才能找到插入點。有沒有辦法從First()擴展方法獲取索引? (請不要使用foreach,我知道:),我正在學習LINQ)。linq按順序插入元素的方法
謝謝! 康斯坦丁
var v = this.Children.FirstOrDefault(x => string.Compare(x.Name, d.Name) > 0);
int index = this.Children.IndexOf(v);
if (index < 0)
{
this.children.Add(d);
}
else
{
this.Children.Insert(index, d);
}
指向BinarySeach的指針正是我所需要的。 – 2010-11-15 19:44:50