2017-10-26 4 views
0
public class ObjectClass 
{ 
    public string PropA { get; set; } 
    public string PropB { get; set; } 
}  

List<string> properties = new List<string>(); 
List<ObjectClass> ListObject= new List<ObjectClass>(); 

//Fill ListObject 
//... 

foreach (var obj in ListObject) 
{ 
    properties.Add(obj.PropA); 
} 

リスト(オブジェクト)の特定のタイプのパラメータのすべての値を入力するリスト(文字列)があります。私は.FindAllと.Whereを使ってみましたが、それらはオブジェクトのコレクションを戻して、ただ一つの値を抽出したいだけです。リスト<object>から1つのプロパティ値を取得できますか?

私はそれを引き出すためにForループを使用することに制限されていますか、Linqは "1行"でそれを抽出するかもしれない組み込みメソッドを持っていますか?

答えて

9

これはSelect拡張法の目的である:

properties.AddRange(ListObject.Select(o => o.PropA)); 

Select新しい列挙に、各オブジェクトの選択された特性を投影します。

+0

39秒で、それを私にビート:) –

0

あなたがそうのように選択するシンプルでこれを行うことができます。

properties.AddRange(ObjectList.Select(obj => obj.PropA));

関連する問題