2011-08-02 16 views
0

私はいくつかの属性を持つオブジェクトリストを得て、このリストに値を設定した後、このオブジェクトの特定の変数からすべての要素を取得し、新しいINTリストの中に入れたいと思います。私は例にしよう:オブジェクトのリストからすべての要素を取得する

public class Obj1 
{ 
    public int id {get; set; } 
    public string name {get; set; } 
    public int? age {get; set; } 
} 

public List<int> GetAgeList(List<Obj1> list) 
{ 
    List<int> ageList = list.age;//The idea is add all ages into the list.. 
    return ageList; 
} 

ありがとう!

+1

これは簡単な答えです。私はそれを解決しようとしましたか? – Coeffect

答えて

2

Mannimarcoが正しいです - あなたが試したことのいくつかを提供しているはずです:)これを行うにはいくつかの方法があります。たぶん、List(特に、拡張メソッドのセクション)を参照し、LINQの学習を開始する必要があります。

.Select()汎用リストタイプの拡張メソッドを使用します。これは一例で

public List<int> GetAgeList(List<Obj1> list) 
{ 
    return list.Select(o => o.age).ToList(); 
} 
+0

こんにちは、皆さん、情報が不足して申し訳ありません。私はobj1をObj1に修正してみてください。あなたが提案を使用して、私はIEnumerableをキャストする必要があると言っていますリスト

+0

@ Dan-SP 'Obj1'があなたが上で定義した通りであれば、' age'はヌル入力可能な型ではありません。コンパイラが '.ToList()'が 'IEnumerable ' –

+0

を返す理由を、私は確信していません。 ..助けてくれてありがとう。 –

1
public class Main 
{ 
    //Create objects 
    Obj1 someObj = new Obj1(); 
    Obj1 someObj2 = new Obj1(); 
    Obj1 someObj3 = new Obj1(); 

    //You should set some values 

    //Make a list with them  
    List<Obj1> listSomeObj = new List<Obj1>(); 

    listSomeObj.Add(someObj); 
    listSomeObj.Add(someObj2); 
    listSomeObj.Add(someObj3); 
} 
public class Obj1 
{ 
    public int id { get; set; } 
    public string name { get; set; } 
    public int age { get; set; } 
} 

//Here's your function to get that particular value  
public List<int> GetAgeList(List<Obj1> list) 
{ 
    List<int> ageList = new List<int>(); 
    foreach (Obj1 obj in list) 
    { 
     ageList.Add(obj.age); 
    } 
    return ageList; 
} 

(私はobj1Obj1と同じタイプで、あなただけのタイプミスをしたと仮定しています)。

関連する問題