18

如何循环进入资源管理器中的所有资源?

即:foreach(ResourceManager 中的字符串资源) //对资源做一些事情。

谢谢

4

2 回答 2

29

使用资源管理器。GetResourceSet () 获取给定文化的所有资源的列表。返回的 ResourceSet 实现了 IEnumerable(可以使用 foreach)。


IEnumerable要回答 Nico 的问题:您可以通过将其转换为泛型来计算 an 的元素IEnumerable<object>并使用Enumerable.Count<T>()扩展方法,这是 C# 3.5 中的新方法:

using System.Linq;

...

var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();
于 2008-09-26T15:01:55.320 回答
1

我想知道您为什么要遍历所有资源。

无论如何,ResourceManager需要实例化给它一个Type或基本名称来查找资源。然后,如果您想获取给定 `ResourceManager 的所有资源,您将能够检索给定的ResourceSet但是CultureInfo

于 2008-09-26T15:33:11.093 回答