簡體   English   中英

排序雙列表列表

[英]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();
}

列表<object>雙重排序<div id="text_translate"><p>我有一個像這樣的 model。</p><pre> public class MenuItem { public string Description { get; set; } public string MenuTypeID { get; set; } public int DailyMax { get; set; } }</pre><p> 然后我有這樣的方法。</p><pre> public List&lt;MenuItem&gt; GetMenuItem() { List&lt;MenuItem&gt; menuItems = new List&lt;MenuItem&gt;(); DataSet ds = null; .... left out ds populating code.... try { foreach (DataRow dr in ds.Tables[0].Rows) { MenuItem menuItem = new MenuItemType(); menuItem.Description = dr["Description"].ToString(); menuItem.MenuTypeID = dr["MenuTypeID"].ToString(); menuItems.Add(menuItem); } List&lt;MenuItemType&gt; SortedList = menuItems.Sort((x, y) =&gt; x.MenuTypeID.CompareTo(y.MenuTypeID)); // compile error: Cannot implicitly convert type 'void' to 'System.Collections.Generic.List&lt;MenuItem&gt;' } catch (Exception ex) { } finally { } return SortedList; }</pre><p> 我的問題是,</p><ol><li> 如何排序沒有編譯錯誤?</li><li> 是否可以menuTypeId排序,然后按description排序?</li></ol></div></object>

[英]List<object> double sort

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 列表<object>雙重排序<div id="text_translate"><p>我有一個像這樣的 model。</p><pre> public class MenuItem { public string Description { get; set; } public string MenuTypeID { get; set; } public int DailyMax { get; set; } }</pre><p> 然后我有這樣的方法。</p><pre> public List&lt;MenuItem&gt; GetMenuItem() { List&lt;MenuItem&gt; menuItems = new List&lt;MenuItem&gt;(); DataSet ds = null; .... left out ds populating code.... try { foreach (DataRow dr in ds.Tables[0].Rows) { MenuItem menuItem = new MenuItemType(); menuItem.Description = dr["Description"].ToString(); menuItem.MenuTypeID = dr["MenuTypeID"].ToString(); menuItems.Add(menuItem); } List&lt;MenuItemType&gt; SortedList = menuItems.Sort((x, y) =&gt; x.MenuTypeID.CompareTo(y.MenuTypeID)); // compile error: Cannot implicitly convert type 'void' to 'System.Collections.Generic.List&lt;MenuItem&gt;' } catch (Exception ex) { } finally { } return SortedList; }</pre><p> 我的問題是,</p><ol><li> 如何排序沒有編譯錯誤?</li><li> 是否可以menuTypeId排序,然后按description排序?</li></ol></div></object> 將列表雙精度數組轉換為列表雙精度 排序清單 <T> 與數組 基於數組的排序列表 如何對數組列表進行排序 如何對列表排序 <T> 兩倍的價值? 排序列表 <KeyValuePair<string, double> &gt;在c#中 C#:Array.Sort方法的兩倍? 用2列表創建一個數組<double> 按數字排序數組列表,然后按字母排序
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM