Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用LINQ将资源集转换为名称列表?_C#_Linq - Fatal编程技术网

C# 如何使用LINQ将资源集转换为名称列表?

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

我有一个资源集,其中包含应用程序的所有位图资源。我想把它转换成一个包含资源名称的列表。使用foreach循环,以下代码适用于我:

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。所以我编辑了答案,请检查一下。