2010-09-08 46 views
0

有什麼方法可以在OrderedSet(Iesi.Collection)的列上執行Linq OrderBy並將輸出作爲有序集合來獲取。在Iesi集上的Orderby

IOrderedEnumerable<int> x = ... 
OrderedSet<int> s = new OrderedSet<int>(x.ToArray()); 

或在擴展方法把它包裝:有如果你想將它轉換查詢似乎是沒有辦法IOrderedEnumerable和ISet的相互轉換...

感謝

回答

0

爲方便起見:

public static class EnumerableExtensions { 
    public static OrderedSet<T> ToOrderedSet<T>(this IEnumerable<T> s) { 
    return new OrderedSet<T>(s.ToArray()); 
    } 
} 

IOrderedEnumerable<int> x = ... 
OrderedSet<int> s = x.ToOrderedSet(); 
+0

太糟糕了這些設置構造函數不採取IEnumerable ... – 2010-09-08 22:48:04