• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 438
  • Last Modified:

How do I add a new line in a string

I have a series of strings that I am adding together to create a new string.

For example

string firstname = "firstname"
string lastname = "lastname"
string address = "address"

I want it in a single string with the address on a new line from the first name last name so that the new string if displayed woul look like

firstname lastname
address

How do I do this?

obviously its

string combineadd = firstname + " " + lastname  

I tried adding "\n" but that doesnt work..what is needed to add the address string to the combined string as a new line.


0
Prysson
Asked:
Prysson
2 Solutions
 
ChumadCommented:
Is this supposed to be displayed on a webpage? If so, use "<br>" as a line break.  If it's a winapp, you may also try /n/r
0
 
ChumadCommented:
Oops, it might actually be  \r\n for line feed/carriage return for a winapp form :)
0
 
anarki_jimbelCommented:
For windows applications you may also use Environment.NewLine:

string combineadd = firstname + " " + lastname  + Environment.NewLine + address;

" \r\n" will also work, as Chumad indicated above.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
evilrixSenior Software Engineer (Avast)Commented:
You may want to consider this: -

"A String object is called immutable (read-only) because its value cannot be modified once it has been created. Methods that appear to modify a String object actually return a new String object that contains the modification. If it is necessary to modify the actual contents of a string-like object, use the System.Text.StringBuilder class."

http://msdn2.microsoft.com/en-us/library/system.string.aspx
http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.aspx
            StringBuilder sb = new StringBuilder();
            sb.Append(firstname);
            sb.Append(" ");
            sb.Append(lastname);
            sb.Append(Environment.NewLine);
            sb.Append(address);
 
            string s = sb.ToString();

Open in new window

0
 
ChumadCommented:
Evilrix, that is good practice to do, however it doesn't fit in this scenario because the string being created is "combineadd" and it's initial creation is being set to firstName + " " + lastName.

If he was doing:

combineadd = firstname;
combineadd += lastname;
combineadd += "\r\n";

Then it would make sense.

0
 
evilrixSenior Software Engineer (Avast)Commented:
It really depends on whether the operator+() results in a new temporary string for each call. The fact that there is only one final assignment in the expression doesn't necessarily indicate only one string instantiation. I'd be only too happy to accept your assertion if you can point me to somewhere in the MSDN that confirms this is indeed not the case.
0
 
evilrixSenior Software Engineer (Avast)Commented:
http://msdn2.microsoft.com/en-us/library/aa691375(VS.71).aspx

The binary + operator performs string concatenation when one or both operands are of type string.

It is therefore reasonable to assume that str0 + str1 is just syntactic sugar for string.Concat(str0, str1), which creates and returns a new string.

http://msdn2.microsoft.com/en-us/library/a6d350wd.aspx

Therefore I conclude that...

string combineadd = firstname + " " + lastname  + Environment.NewLine + address

is really just syntactic sugar for...

string combineadd = string.Concat(firstname, string.Concat(" ", string.Concat(lastname, string.Concat(Environment.NewLine, address))));

...which creates 4 new strings as part of the concatenation process.

Of course I might be wrong but I am unable to find anything to contradict this assumption.

-Rx.
0
 
PryssonAuthor Commented:
The  was the solution though the suggested answer left off the / in th tag.

But I apprecit the string builder solution..makes builnding the concatenated string much easier.

Thanks
0
 
mhouldridgeCommented:
Here is the button;

        private void button4_Click(object sender, EventArgs e)
        {
            string Newline;
            Newline = textFormatting.Newline(TxtIn.Text);
            TxtIn2.Text = Newline;
        }


Here is the class code;

        public static string Newline(string TxtIn)
        {
           return TxtIn + Environment.NewLine;
        }
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now