C# 如何从实际对象列表中创建一个对象属性列表?

C# 如何从实际对象列表中创建一个对象属性列表?,c#,linq,list,C#,Linq,List,我有一个我定义的对象的可观察集合连接 如何从该列表中的所有连接中提取所有URL 我想用正确的方式做这样的事情: ObservableCollection<Connection> connectionList; List<string> listUrl = new List<string>(); foreach (var connection in connectionList) { listUrl.Add(connection.PortalUrl);

我有一个我定义的对象的可观察集合
连接

如何从该列表中的所有连接中提取所有URL

我想用正确的方式做这样的事情:

ObservableCollection<Connection> connectionList;
List<string> listUrl = new List<string>();

foreach (var connection in connectionList)
{
    listUrl.Add(connection.PortalUrl);
}
可观察收集连接列表;
List listUrl=新列表();
foreach(连接列表中的var连接)
{
Add(connection.PortalUrl);
}
“以正确的方式”

您的方法没有“错误”,但如果您使用.NET 3.5或更高版本,则可以使用Linq在一行中完成:

List<string> listUrl = connectionList.Select(c => c.PortalUrl).ToList();
List listUrl=connectionList.Select(c=>c.PortalUrl.ToList();
如果您不了解Linq是如何工作的,那么请坚持使用您的方法-它们在功能上是等效的


如果您还没有在项目中使用Linq,只需添加
usingsystem.Linq与其他名称空间导入一起位于类文件的顶部

使用
选择

var urls = connectionList.Select(x => x.PortalUrl).ToList();
由于这是最基本的LINQ,我建议您看一些示例:

您可以使用linQ“using system.linQ”

这应该能奏效


connectionList.Select(con=>con.Url).ToList()

为什么您认为这是错误的?我在ObservableCollection NVM上没有选择@塞德里克:你是否使用System.Linq导入了