簡體   English   中英

LINQ:如何選擇具有給定值的多個屬性的數組元素

[英]LINQ: How to select elements of an array which have multiple properties with given values

我有一個自定義數組

MyTypeA[] mA

MyTypeA包含的屬性包括MyTypeBMyTypeC (這里為了簡單起見,命名為mBmC

我只想選擇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);
}

這里AAMyTypeD類型的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.

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