在特定情况下,我有一个使用多个不同短语的应用程序。我想将这些短语放入资源文件以启用本地化。在运行时,我希望能够随机选择要显示的N个字符串之一。
例如,假设我正在向用户显示问候语。我可能有以下短语作为问候语。
现在我知道我可以将它们存储在资源文件中,因为它是一个键/值对。
我如何在运行时随机选择其中之一?
我是否需要一个配置文件,存储“问候语变体”的数量,读入该配置文件,然后选择一个随机数,然后提取该资源?
有更好的方法吗?
答案 0 :(得分:0)
我个人可能会使用配置解决方案,因为通过将给定范围内的随机数附加到资源键前缀并按键检索资源,检索资源将非常容易。
另一种选择是查询资源文件中的所有密钥(使用解决方案here),并使用LINQ选择具有给定前缀的密钥。您可以从结果集中选择一个随机的。当然,该解决方案效率较低,因为它需要循环所有现有资源。