[英]Sort list of double array
我有這本字典
Dictionary<string, List<double[]>> dictionary = new Dictionary<string, List<double[]>>();
我填寫了大量數據。
列表中的每個數組都有兩個值,如下所示:
[xvalue, yvalue]
無論如何,我可以根據數組的xvalue
對字典中的每個列表進行排序。
這是清單
[[1,100], [10, 100], ....[3, 100]]
[[1,100], [3,100], [10,100]]
說實話,我所做的只是谷歌搜索這樣一個功能,但我不能做更多,因為我在c#中不是那么好,我想你會節省很多時間。
迭代字典的所有元素並對每個列表進行排序。 您可以通過使用適當的比較函數調用List.Sort
對列表進行排序。
foreach(var entry in dictionary) {
entry.Value.Sort((a, b) => a[0].CompareTo(b[0]));
}
試試這段代碼:
foreach (var pair in dictionary)
{
pair.Value.Sort((x, y) => x[0].CompareTo(y[0]));
}
這應該工作:
dictionary = dictionary
.ToDictionary(x => x.Key,
x => x.Value.OrderBy(a => a[0]).ToList());
簡單的方法是迭代鍵。 訪問特定密鑰下的每個列表。 對每個列表進行排序,並將未排序的列表替換為新排序的列表:
foreach (var key in dictionary.Keys)
{
dictionary[key] = dictionary[key].OrderBy(i => i[0]).ToList();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.