C# 如何使用LINQ将资源集转换为名称列表?
我有一个资源集,其中包含应用程序的所有位图资源。我想把它转换成一个包含资源名称的列表。使用foreach循环,以下代码适用于我:C# 如何使用LINQ将资源集转换为名称列表?,c#,linq,C#,Linq,我有一个资源集,其中包含应用程序的所有位图资源。我想把它转换成一个包含资源名称的列表。使用foreach循环,以下代码适用于我: var list = new List<string>(); foreach (var resource in resourceSet) { var entry = (DictionaryEntry)resource; List.Add(entry.Key.ToString()); } 如何使用Linq实现这一点?试试以下方法: var list
var list = new List<string>();
foreach (var resource in resourceSet)
{
var entry = (DictionaryEntry)resource;
List.Add(entry.Key.ToString());
}
如何使用Linq实现这一点?试试以下方法:
var list = resourceSet.Cast<DictionaryEntry>().Select(item => item.Key.ToString()).ToList();
嘿非常感谢。我收到一个错误:System.Resources.ResourceSet不包含“Select”的定义,并且找不到接受“System.Resources.ResourceSet”类型的第一个参数的扩展方法“Select”。@Sipo还记得使用System.Linq的命名空间吗?!对我正在使用.NET4.5。也许这就是问题所在?@Sipo抱歉,我忘了ResourceSet实现了非泛型IEnumerable。所以我编辑了答案,请检查一下。