[英]LINQ: How to select elements of an array which have multiple properties with given values
我有一個自定義數組
MyTypeA[] mA
MyTypeA
包含的屬性包括MyTypeB
和MyTypeC
(這里為了簡單起見,命名為mB
和mC
)
我只想選擇mA
那些元素,以便mB
具有值B
並且mC
具有值C
。
我試過類似的東西:
mA.Select( x=>x.myB.Equals(B) && x=>x.myC.Equals(C)).ToList();
或者還有Where()
但沒有進展。
然后我想使用這個結果作為參數(arg)
foreach (MyTypeD oneD in mD) oneD.AddTo(arg);
其中 mD 是數組MyTypeD[]
其中AddTo()
已被聲明為 MyTypeD 的方法:
public void AddTo(List<MyTypeA> mAin)
{
mAin.CopyTo(AA);
}
這里AA
是MyTypeD
類型的MyTypeA
類的屬性
我有一個錯誤,查詢的輸出是MyTypeD
類型而不是List<MyTypeA>
謝謝
如果你想過濾,你當然必須使用Where
但沒有多個x=>
:
var aQuery = mA.Where(a => a.myB.Equals(B) && a.myC.Equals(C));
為了完整起見,您也可以使用多個Where
:
var aQuery = mA.Where(a => a.myB.Equals(B)).Where(a => a.myC.Equals(C));
嘗試:
mA.Where( x=>x.myB.Equals(B) && x.myC.Equals(C)).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.