是否可以做这样的事情?
var strings = ConfigurationManager.ConnectionStrings;
var names = (from d in strings
select new ConnectionName(d.Name));
答案 0 :(得分:9)
是的,但由于ConnectionStrings
未实现强类型IEnumerable
,因此您必须告诉LINQ该集合包含的类型。
使用from ConnectionStringSettings d in strings
或ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>()
。
答案 1 :(得分:0)
您必须将其投放到其类型IEnumerable
而不是IEnumerable<T>
请参阅 Enumerable.Cast :
将IEnumerable的元素转换为指定的类型。
var t = from c in connectionString.Cast<System.Configuration.ConnectionStringSettings>()
select c.Name;
答案 2 :(得分:0)
您可以循环使用foreach:
只需使用您要查找的conn属性
foreach (var conn in ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>())
{
conn.Name
}