tags:

views:

567

answers:

4

What compelling reasons exist for using them?

+9  A: 

With resx you can have one per language (that is spoken language not programming language) enabling your program / system to be multilingual.

Shiraz Bhaiji
Yes - the world is *NOT* just speaking English!
marc_s
@marc_s: What? That's just silly-talk.
Randolpho
+9  A: 
  • Resource files give you an easy way to localize/internationalize your .net applications by automatically determining which language resx file to use based on the user's locale. To add more languages, simply add another translated resource file.

  • Resource files give you a central location to store your strings, files and scripts and refer to them in a strongly-typed manner (so the compile will break if you reference them improperly).

  • Resource files can be compiled into satellite assemblies, making it easy to change up the resources in a production application without having to recompile the whole thing.

womp
+4  A: 

As a supplement to the other answers, which I've upvoted, I'd like to add that string resources are for human-readable text, not constants that will be used programmatically. They're great for error messages, button labels and the like.

Very often, rather than the final string, we store a format string so that variables can be substituted in at the last moment. The nice thing about this method is that, unlike concatenation, it's not broken when a language has different word order requirements.

Steven Sudit
+1 for bringing up the use of format strings
Fredrik Mörk
+3  A: 

Resource files enable you to change the text/graphics your program will display without editting the code of the program itself. For many reasons, it is often considered ideal to avoid needing to edit your program's source code in order to make changes that are not part of your application's logic.

Brian