Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#输入字符串的格式不正确?_C# - Fatal编程技术网

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

C#输入字符串的格式不正确?,c#,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); } 你需要避开你的花括号: "Number : {0} \nFloors:{1} \nStreet \n{{ \

我的代码有什么问题?这是我的密码:

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

你需要避开你的花括号:

"Number : {0} \nFloors:{1} \nStreet \n{{ \nName : {2},\nLength : {3}\n}}"
如果需要在结果字符串中使用
{
}
,则需要将其转义为
{{
}
,使用C#6,我将使用字符串插值:

public override string ToString()
{
    return $"Number : {Number} \nFloors:{Floors} \nStreet \n{{ \nName : {Street.Name},\nLength : {Street.Length}\n}}";
}
另外:正如Manfred Radlwimmer所说,您需要将
{
转义为
{
}
转义为

如果不是C#6,则在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();
}

数字、楼层、街道、名称和街道的类型是什么?长度、数量、楼层和长度是INTING类型,这并不重要,因为没有任何格式选项。它是有效的。谢谢。@ ErikHakobyan,因为答案适用于您,请考虑通过点击旁边的灰色复选标记来接受它。这将让其他网站访问者知道你已经找到了答案,并在堆栈溢出上为你赢得一个新的徽章。我做到了。谢谢。