如何循环遍历资源管理器中的所有资源?
例如: foreach (string resource in ResourceManager) //对资源进行操作。
谢谢。
使用ResourceManager.GetResourceSet()获取特定文化的所有资源列表。返回的ResourceSet实现了IEnumerable接口(可以使用foreach循环)。
回答Nico的问题:您可以将IEnumerable
强制转换为通用的IEnumerable<object>
,并使用C# 3.5中的新扩展方法Enumerable.Count<T>()
来计算其元素的数量:
using System.Linq;
...
var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();
我想知道为什么你想要循环遍历所有资源。
无论如何,ResourceManager
需要被实例化,给它一个Type
或者基本名称来查找资源。然后,你将能够检索到一个ResourceSet
,但是需要给定一个CultureInfo
,因此如果你想要获取给定`ResourceManager`的所有资源,你需要指定相应的CultureInfo
。