资源字符串,从多个选项中选择



我有一个应用程序,它在特定情况下使用多个不同的短语。我想把这些短语放在一个资源文件中,以实现本地化。在运行时,我希望能够从N个字符串中随机选择一个来显示。

例如,假设我正在向用户显示一个问候语。我可能有以下短语作为问候语变体。

  1. 你好
  2. 欢迎

现在我知道我可以将它们存储在我的资源文件中,因为它是一个键/值对。

  1. 问候Variant0
  2. 问候语变体1
  3. 问候语变体2

如何在运行时随机选择其中一个?

我需要一个配置文件,存储"Greeting Variants"的数量,读取该配置文件,然后选择一个随机数,然后提取该资源吗?

有更好的方法吗?

我个人可能会使用配置解决方案,因为只需将给定范围内的随机数附加到资源键前缀并按键检索资源,检索资源就会非常容易。

另一种选择是查询资源文件中的所有键(使用此处的解决方案之一(,并使用LINQ选择具有给定前缀的键。您可以从结果集中随机选择一个。当然,这种解决方案效率较低,因为它需要对所有现有资源进行循环。

最新更新