12

このクラスのリストがあります:

public class Data
{
   public string name {get; set;}
   public int width {get; set;}
}

そして、nameプロパティのみのリストを返すメソッドを作成したいと思います。このような:

public List<string> GetAllNames()
{ return MyDataList<name>.ToList(); }

だから、私がこのリストを持っているなら:

  1. name=ジョン- width=10
  2. name=ジャック- width=25

次のリストが必要です。

  1. name=ジョン
  2. name=ジャック

出来ますか?

4

3 に答える 3

22

LINQを使用する:

public List<string> GetAllNames()
{
    return MyDataList.Select(i => i.name).ToList();
}
于 2012-06-22T13:45:23.807 に答える
2

.NET 3.5(VS2008)以降を使用している場合は、拡張メソッドを使用します。

public class Data { String Name; Int32 Width; }
public List<Data> MyData = new List<Data>();

public static IEnumerable<String> GetNames(this List<Data> data) {
    foreach(Data d in data) yield return d.Name;
}
// or use Linq to return a concrete List<String> implementation rather than IEnumerable.
于 2012-06-22T13:46:34.420 に答える
2
public List<string> GetAllNames()
{ 
    return myDataList.Select(item => item.name).ToList();
}
于 2012-06-22T13:46:36.213 に答える