Ответ 1
Используйте LINQ:
public List<string> GetAllNames()
{
return MyDataList.Select(i => i.name).ToList();
}
У меня есть список этого класса:
public class Data
{
public string name {get; set;}
public int width {get; set;}
}
И я хочу создать метод, который возвращает список только свойства name. Вот так:
public List<string> GetAllNames()
{ return MyDataList<name>.ToList(); }
Итак, если у меня есть этот список:
name
= Jon - width
= 10name
= Jack - width
= 25Мне нужен следующий список:
name
= Jonname
= JackВозможно ли это?
Используйте LINQ:
public List<string> GetAllNames()
{
return MyDataList.Select(i => i.name).ToList();
}
Если вы используете .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.
public List<string> GetAllNames()
{
return myDataList.Select(item => item.name).ToList();
}