我被困在下面的問題C#LINQ: 我想加載一個目錄,但我可以通過一個以上的參數可能是什麼標準來找到我想要的清單。 現在我有以下結構:有兩個列表
House{
Name;
ID;
Alias;
}
我也有:
Person{
Name;
Alias;
}
這意味着,1個可容納多人,並與多個同名的人可以在多個房屋。 所以現在我想打電話給我的功能e.G. 「GetHouses(字符串標準)」作爲標準可以是:
- 房子
- 房子
- 房子
- 中的一個的名稱的名稱的一部分的ID的名稱在房子裏的人
現在我只是讀了每一個房子,它的數據和我選擇的標準之後。
重要提示:我不能改變的邏輯,直到在這裏!
所以現在我試圖找到我想出了使用LINQ,因爲它是非常快的匹配標準。
result = (from x in result
where (
(string.Equals(x.Name, criteria))
|| (string.Equals(x.ID, criteria))
|| (x.Name.Contains(criteria))
select x).ToList();
現在我想每個人的負載,我發現房屋和檢查,如果在房子裏的人的名稱將匹配條件:我不比較的人它的工作原理爲長。 有沒有辦法在LINQ中做到這一點我已經? 還是我去,雖然與結果:
result.ForEach(x => ...)
將是很好,如果將與LINQ工作。 我做了一個類似的邏輯與
result.FindAll(new Predicate<House>((x) => { ... LoadPersons(criteria) {... } }));
但是走上長。
親切的問候, Asat0r
你不只是試圖連接在LINQ這兩個項目「全價值」更容易的房屋搜索?而不是一個foreach – BugFinder
房子與這個人有什麼關係?你是否想將這些人「加載」到具有相同匹配標準的匹配房屋中?如果是這樣,如果一個人可以匹配到多個房子呢? –
House不應該在其中包含人員列表嗎? – OrMiz