簡體   English   中英

對象包含數組的對象列表-如何使用LINQ在所有對象中搜索該數組中的值

[英]List of objects where the object contains an array - how to use LINQ to search through all objects for a value in that array

因此,我有一個對象列表,對象類本身包含一個包含多個值的數組。 如何搜索列表數組中的所有對象以查找該值?

例:

[
{
    "ObjArray": ["1234", 123"],
    "Property1": "60",
    "Property2": "64"
},
{
    "ObjArray": ["4321", 321"],
    "Property1": "112",
    "Property2": "22"
},
{
    "ObjArray": ["9999"],
    "Property1": "2",
    "Property2": "2"
}
]

我想在所有“ ObjArray”中查找“ 9999”。 如何使用LINQ做到這一點?

編輯

正如Habib指出的那樣,我只需要一個簡單的Contains子句。 工作代碼如下所示:

var result = mainList.Where(r => r.ObjArray != null && r.ObjArray.Contains("9999", StringComparer.OrdinalIgnoreCase)).FirstOrDefault();

你可以做:

var query = mainList.Where(r => r.ObjArray.Contains("9999"));

要么

var query = mainList.Where(r => r.ObjArray.Any(o => o == "9999"));

(除此之外,您的JSON無效,數組中的第二個值需要以雙引號開頭)

["1234", 123"]
       //^^

暫無
暫無

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

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