资源(.resx)文件的好处是什么?


77

使用它们有哪些令人信服的理由?


9
如果您以前从未使用过resx文件,但是拥有自己的字符串表等(或更糟糕的是,字符串分散在整个代码中,都在本地定义),并且没有看到更改此方法的理由,那么这就是正当问题。
mmr

8
我以前从未使用过resx。这就是问题背后的原因。
新手2009年

Answers:


88
  • 资源文件通过自动根据用户的语言环境确定要使用的语言resx文件,为您提供了一种简单的方法来对.net应用程序进行本地化/国际化。要添加更多语言,只需添加另一个翻译的资源文件。

  • 资源文件使您可以集中存储字符串,文件和脚本,并以强类型的方式引用它们(因此,如果引用不当,编译将会中断)。

  • 可以将资源文件编译为附属程序集,从而轻松更改生产应用程序中的资源,而无需重新编译整个程序。


29

作为其他答案的补充,字符串资源用于人类可读的文本,而不是将以编程方式使用的常量。它们非常适合错误消息,按钮标签等。

通常,我们存储格式字符串,而不是最后一个字符串,以便可以在最后一刻替换变量。这种方法的好处是,与串联不同,当语言具有不同的单词顺序要求时,它不会中断。


1
确实为此+1!虽然仍然有龙;例如,英语具有“一个”和“许多”,斯洛文尼亚语例如具有“一个”,“很少”和“许多”。
Cornelius

1
每当有人引用格式化的字符串进行记录时,这都是一个烦人的重定向到单独的“ res”文件。
Jmoney38 '17

13

使用resx,您可以为每种语言使用一种语言(即口头语言而不是编程语言),从而使您的程序/系统能够使用多种语言。


14
是-这个世界只是讲英语!
marc_s

任何有关如何使用简单示例的教程?
KansaiRobot

13

资源文件使您可以更改程序将显示的文本/图形,而无需编辑程序本身的代码。由于许多原因,通常认为避免编辑程序的源代码以进行不属于应用程序逻辑的更改是理想的。


3

除了上述答案之外,资源文件还可以为您提供存储用于执行读/写测试的测试文件的位置。这样,无论如何设置其他人的环境,您都可以在其中存储日志或其他文件。

请记住,您放置在资源中的哪些文件必须可序列化。检查下面的更多信息:

https://msdn.microsoft.com/zh-CN/library/f45fce5x(v=vs.80).aspx

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.