我有一個包含學生數據字典列表 這多少有點像排序基於一個關鍵
List<Dictionary<string, object>> students = new List<Dictionary<string, object>>();
Dictionary<string, object> std1 = new Dictionary<string, object>();
std1["name"] = "sai";
std1["age"] = 22;
std1["gender"] = "male";
students.Add(std1);
Dictionary<string, object> std2 = new Dictionary<string, object>();
std2["name"] = "Julia";
std2["gender"] = "female";
students.Add(std2);
Dictionary<string, object> std3 = new Dictionary<string, object>();
std3 ["name"] = "sunny";
std3 ["age"] = 23;
students.Add(std3);
我想排序學生的基礎上無論是name
,age
或列表詞典列表gender
,我想是這樣的:
var ordered = students.OrderBy(x => x["name"]);
如果我嘗試用兩種age
或gender
它返回一個錯誤,關鍵是沒有找到,如std2
沒有age
和std3
沒有gender
。
我需要的所有記錄,即使它不包含排序鍵的值,任何方式來解決這個問題,在此先感謝。
是否有使用字典而不是類的特定原因? – cubrr