我有一个 IList<Person>
目的。 Person 类有字段,FirstName
, LastName
等
我有一个函数需要 IList<string>
我想以与 IList<Person>
相同的顺序传入 FirstNames 列表目的。有没有一种方法可以在不使用 Person 列表中的所有名称构建 List 的情况下执行此操作?
如果我可以更改函数以采用不同的参数(除了 ILIst<Person>
之外,该函数特定于字符串,而不是 Persons)会怎么样,也许 IEnumerable<string>
?我宁愿使用 IList<string>
虽然。
最佳答案
Enumerable.Select
将为您返回一个 IEnumerable 字符串(名字)。
http://msdn.microsoft.com/en-us/library/bb548891.aspx
myFunction(people.Select(o => o.FirstName))
如果你真的想传入一个 List
myFunction(people.Select(o => o.FirstName).ToList())
Enumerable.Select
是作为 LINQ 的一部分在 C# 3 中引入的方法。阅读有关 LINQ 的更多信息 here .查看延迟执行的简要说明 here .
关于c# - 从 IList<object_type> 获取 IList<field_type>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678864/