我有一本字典,它是一個嵌套字典。我想根據字典中提供的日期和時間對其進行排序。如何做到這一點是 c#。這是我的代碼
foreach (var user in Load_User)
{
if(user.Value.Projects[0].type=="0")
{
print("Standard User");
_Standard_User.Add(user.Key, new Dictionary<string, string>() {
{ "Email", user.Value.Email },
{ "age",user.Value.age},
{"userName", user.Value.userName},
{"mobile", user.Value.mobile},
{"instagram_handle",user.Value.instagram_handle},
{ "City_Of_Residence", user.Value.City_Of_Residence },
{ "nationality", user.Value.nationality },
{ "No_of_Votes", user.Value.No_of_Votes.ToString()},
{"Brief",user.Value.Projects[0].Brief},
{"Creation_Date", user.Value.Projects[0].Creation_Date},
{"Creation_Time", user.Value.Projects[0].Creation_Time},
{"type", user.Value.Projects[0].type},
{"localId",user.Value.localId},
{"thumbnail_image",user.Value.Projects[0].thumbnail_image}
});
}
uj5u.com熱心網友回復:
您可以使用 LINQ 執行此操作(確保包含System.Linq命名空間):
_Standard_User.OrderBy(x => Convert.ToDateTime(x.Value["Creation_Date"]).Add(TimeSpan.Parse(x.Value["Creation_Time"])))
.ToDictionary(x => x.Key, x => x.Value);
這將回傳按創建日期和時間排序的字典。這期望Creation_Date可以被Convert.ToDateTime(像 2022-09-30 的格式)Creation_Time決議,并且可以被TimeSpan.Parse(像 10:38 的格式)決議。
如果你有確切的格式,你可以利用TimeSpan.ParseExact它繞過任何文化問題:
_Standard_User.OrderBy(x => DateTime.ParseExact(x.Value["Creation_Date"], "yyyy-MM-dd", null).Add(TimeSpan.Parse(x.Value["Creation_Time"])))
.ToDictionary(x => x.Key, x => x.Value);
上面的代碼片段在功能上與前面的代碼片段相同,但它需要采用年-月-日格式的日期。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/513137.html
標籤:C#排序日期字典嵌套的
