簡體   English   中英

查詢動態對象列表的最大值和最小值

[英]Quering a Dynamic Object List for Max and Min Values

我有以下代碼返回動態對象。 我想全部查詢它們,並獲取最小日期和最大日期,該日期和日期保留在created_at 我將如何查詢?

目前,我正在使用foreach循環,並進行比較和設置日期。 有沒有更有效的方法可以做到這一點,我將如何去做呢? 我知道它的問題,但無法理解如何實際執行它的概念。

dynamic dynObj = JsonConvert.DeserializeObject(Data);
{
    "created_at": "Fri Sep 27 02:00:08 +0000 2013",
    "id": 
},
string Data = @"[{
    ""created_at"": ""Fri Sep 27 02:00:08 +0000 2013"",
    ""id"": 1
},
{
    ""created_at"": ""Sat Sep 28 02:00:08 +0000 2013"",
    ""id"": 1
}]";
IEnumerable<dynamic> d = (dynamic)JsonConvert.DeserializeObject(Data);
var dates = d.Select(x => DateTime.ParseExact(x.created_at.ToString(),
    "ddd MMM dd HH:mm:ss K yyyy", CultureInfo.InvariantCulture))
    .Cast<DateTime>().ToList();
var maxDate = dates.Max();
var minDate = dates.Min();

您的dynObj似乎是數組或列表,對嗎?

您可以使用linq查詢,例如

list.Min(p => DateTime.Parse(p.created_at));

或者,無需在每次迭代中解析日期,只需將created_at的類型轉換為DateTime

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM