Reputation: 31
public override string ToString()
{
return String.Format("Name : {0} Date Of Birth : {1: dd/MM/yyyy} Gender : {2} Telephone : {3}", _name, _dob, _gender, _tel);
}
How would I change this so that each Heading is written on a separate line so name is on line 1, DOB line 2, Gender line 3, etc?
Upvotes: 2
Views: 9065
Reputation: 1985
Ok, there is a new way in C# it is very readable and simple to implement; you should add a dollar sign($) before double qoute:
return $"Name : {_name}\r\nDate Of Birth : {_dob}\r\nGender : {_gender}\r\nTelephone : {_tel}";
Upvotes: 0
Reputation: 117057
I would go with this approach:
public override string ToString()
{
var nl = Environment.NewLine;
return
$"Name : {_name}{nl}"
+ $"Date Of Birth : {_dob:dd/MM/yyyy}{nl}"
+ $"Gender : {_gender}{nl}"
+ $"Telephone : {_tel}";
}
Or this, if you think it is clearer:
public override string ToString()
{
return
$"Name : {_name}{Environment.NewLine}"
+ $"Date Of Birth : {_dob:dd/MM/yyyy}{Environment.NewLine}"
+ $"Gender : {_gender}{Environment.NewLine}"
+ $"Telephone : {_tel}";
}
Upvotes: 1
Reputation: 20754
I recommend that you use Environment.NewLine because you can trust it in different runtimes
return String.Format("Name : {1}{0}Date Of Birth : {2: dd/MM/yyyy}{0}Gender : {3}{0}Telephone : {4}",
Environment.NewLine, _name, _dob, _gender, _tel);
Upvotes: 1
Reputation: 4604
Using the \r
and \n
carriage return and linefeed characters.
public override string ToString()
{
return String.Format("Name : {0}\r\nDate Of Birth : {1: dd/MM/yyyy}\r\nGender : {2}\r\nTelephone : {3}", _name, _dob, _gender, _tel);
}
Upvotes: 0