C # Input string not in correct format?

What is wrong with my code? Here is my code:

public override string ToString() { return String.Format("Number : {0} \nFloors:{1} \nStreet \n{ \nName : {2},\nLength : {3}\n}",Number,Floors,Street.Name,Street.Length); } 
+7
c #
source share
3 answers

You need to avoid your curly braces:

 "Number : {0} \nFloors:{1} \nStreet \n{{ \nName : {2},\nLength : {3}\n}}" 

If you need { or } in the resulting string, you need to avoid them as {{ and }} .

+19
source share

With C # 6, I would use string interpolation:

 public override string ToString() { return $"Number : {Number} \nFloors:{Floors} \nStreet \n{{ \nName : {Street.Name},\nLength : {Street.Length}\n}}"; } 

Plus: as Manfred Radvimer said, you need to avoid { like {{ and } how }} .

+8
source share

If not C # 6, use StringBuilder.

 public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("Number : @number \nFloors:@floors \nStreet \ n@streetName : @streetLength\n"); sb.Replace("@number", Number) .Replace("@floors", Floors) .Replace("@streetName", Street.Name) .Replace("@streetLength", Street.Length); return sb.ToString(); } 
+1
source share

All Articles