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

时间:2014-06-03 14:08:29

标签: c# linq list

我有一个ObservableCollection对象,我已经定义了Connection

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

我想以正确的方式做同样的事情:

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

foreach (var connection in connectionList)
{
    listUrl.Add(connection.PortalUrl);
}

3 个答案:

答案 0 :(得分:6)

  

&#34;以正确的方式&#34;

那里没有什么&#34;错误&#34;使用您的方法,但如果您使用的是.NET 3.5或更高版本,可以使用Linq在一行中完成:

List<string> listUrl = connectionList.Select(c => c.PortalUrl).ToList();

如果您不了解Linq的工作方式,那么坚持使用您的方法 - 它们在功能上是等同的。

如果您尚未在项目中使用Linq,只需将using System.Linq;与其他命名空间导入一起添加到类文件的顶部

答案 1 :(得分:1)

使用Select

var urls = connectionList.Select(x => x.PortalUrl).ToList();

由于这是基本的LINQ,我建议你看看一些例子:

http://msdn.microsoft.com/en-us/library/bb397927.aspx

答案 2 :(得分:1)

你可以使用linQ&#34;使用system.Linq&#34;

这应该可以解决问题

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