我无法找到关于如何做到这一点的更多信息。我可能没有正确的术语。
我有一个对象列表:
class Cat()
{
public string Name { get; set; }
}
List<Cat> cats = new List<Cat>();
cats.add(new Cat() { Name = "Felix" } );
cats.add(new Cat() { Name = "Fluffy" } );
如何从Name属性中获取字符串列表,如下所示:
{ "Felix", "Fluffy" }
答案 0 :(得分:9)
答案 1 :(得分:5)
var names = cats.Select(c => c.Name);
但是如果你仍然需要一个列表使用
List<string> names = cats.ConvertAll(c => c.Name);
答案 2 :(得分:2)
cats.Select(x =&gt; x.Name).ToList()
答案 3 :(得分:2)
cats.Select(cat => cat.Name).ToList();
或
(from cat in cats select cat.Name).ToList();
如果您实际上不需要List
作为输出,则可以不使用.ToList()
答案 4 :(得分:1)
如果您不允许(或不想)使用var,扩展方法和Linq或需要字符串列表:
List<string> names = cats.ConvertAll(cat => cat.Name);
答案 5 :(得分:0)
var names = (from cat in cats
select cat.Name).ToList();
答案 6 :(得分:0)
使用linq:
var names = cats.Select(x => x.Name).ToList();
答案 7 :(得分:0)
var listOfNames = (from c in cats
select c.Name).ToList();
答案 8 :(得分:0)
试试这个:
cats.Select(e => e.Name).ToArray();
我对LINQ很新,所以我不保证这样做。
另外,添加System.Linq命名空间:
using System.Linq;
答案 9 :(得分:0)
cats.Select(cat => cat.Name).ToList()