簡體   English   中英

LINQ:獲取包含具有特定名稱和值的屬性的數組中的對象

[英]LINQ: Get an object in array containing property with specific name and value

嘗試通過使用具有特定值的屬性之一作為“指針”來選擇數組中的對象。 我的目標是用 linq 做到這一點

例子:

    {
        "A": "ValA",
        "B": "ValB",
        "C": [
            {
                "D": "ValD1",
                "E": "ValE1",
                "F": "ValF1"
            },
            {
                "D": "ValD2",
                "E": "ValE2",
                "F": "ValF2"
            },
            {
                "D": "ValD2",
                "E": "ValE3",
                "F": "ValF3"
            }
         ]
    }

所以我想要做的是獲取包含屬性“D”和值為“ValD2”的對象 n 數組“C”。 由於有兩個對象,我想讓 LINQ 查詢返回包含兩個對象的列表。 如果在一個包含屬性“D”且值為“ValD2”的對象上。 可以這么說,我只會取回一個包含這些參數的對象。

那是:

       [
            {
                "D": "ValD2",
                "E": "ValE2",
                "F": "ValF2"
            },
            {
                "D": "ValD2",
                "E": "ValE3",
                "F": "ValF3"
            }
       ]

到目前為止,我已經設法通過這樣做獲得了數組 C 中的所有對象:

json.DescendantsAndSelf().OfType<JObject>().Where(x => x.ContainsKey("C")).ToList()

所以我想我是在 Abdus Salam Azad 和 Prasad Telkikar 的幫助下找到的:

json.DescendantsAndSelf().OfType<JObject>().Where(x => x.ContainsKey("D")).Where(x => x.Property("D").Value.ToString() == "ValD2").ToList()

謝謝大家!

暫無
暫無

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

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