C#输入字符串格式不正确?

Eri*_*yan 7 c#

我的代码出了什么问题?这是我的代码:

public override string ToString()
{
    return String.Format("Number : {0} \nFloors:{1} \nStreet \n{ \nName : {2},\nLength : {3}\n}",Number,Floors,Street.Name,Street.Length);
}
Run Code Online (Sandbox Code Playgroud)

Man*_*mer 20

你需要逃避大括号:

"Number : {0} \nFloors:{1} \nStreet \n{{ \nName : {2},\nLength : {3}\n}}"
Run Code Online (Sandbox Code Playgroud)

如果您需要{}在结果字符串中,您需要将它们转义为{{}}.


ect*_*cth 8

使用C#6我会使用字符串插值:

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

另外:正如Manfred Radlwimmer所说,你需要逃避{as {{}as }}.