Using Multiline Strings in .NET Resource Files

Using Multiline Strings in .NET Resource Files

Displaying strings from .NET resource files may be a puzzle if the strings include escape sequences. For example, take the newline (linefeed) character. Suppose you want to display a hardcoded text in a MessageBox. You might write your C# code as follows:

string myString  =  "Show me on the first line 
Show me on the second line";MessageBox.Show(myString);]

The escape sequence
represents a linefeed character (0x000A), which displays the text on two lines.

Now, suppose that you moved the text in double quotes to the string resources in your .resx file and tagged it with the keyNameForMyString tag. You could write the code to get the text back as follows:

ResourceManager resman = new ResourceManager(   "MyNameSpace.MyResxResourceFileName",   GetType().Assembly);string myStringFromResx = resman.GetString("keyNameForMyString");

The value of the myStringFromResx string would now be seen as:

@" Show me on the first line 
Show me on the second line".

The tip “Escape Sequences in .NET Resource Files” suggests that the solution to this problem is to replace the \n that comes from the resource to

A simpler solution is to use Shift+Enter (like in MS Word or MS Messenger) to break your strings into lines when typing them in the resx designer.

See also  Who are the Modern GPU Cloud Providers?

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist