C# 使用反斜杠格式化字符串
我是c#的新手,所以希望这次对你们中的一些人来说不是太难 我正在尝试构建一个包含\的字符串,但我很难只显示一个反斜杠,即使我正在添加额外的转义字符或忽略它们。有人能告诉我我做错了什么吗 我希望我的字符串看起来像什么:C# 使用反斜杠格式化字符串,c#,C#,我是c#的新手,所以希望这次对你们中的一些人来说不是太难 我正在尝试构建一个包含\的字符串,但我很难只显示一个反斜杠,即使我正在添加额外的转义字符或忽略它们。有人能告诉我我做错了什么吗 我希望我的字符串看起来像什么: "10.20.14.103\sql08" 到目前为止,我所尝试的: 我添加了一个额外的字符以使编译器满意,但它没有逃逸它 ip = string.Format("{0}\\\\{1}", ip, instancename); // output has 2 \'s 我告诉它不要
"10.20.14.103\sql08"
到目前为止,我所尝试的:
我添加了一个额外的字符以使编译器满意,但它没有逃逸它
ip = string.Format("{0}\\\\{1}", ip, instancename); // output has 2 \'s
我告诉它不要理会逃跑,它决定不理我
string temp = @"192.168.1.200\sql08"; // output has 2 \'s
有人能帮我弄明白吗?(这里的richtext编辑器似乎比VS2010做得更好,lol)如果您在调试器中查看这些字符串(即,将鼠标悬停在变量上或使用手表),调试器会将转义字符添加到显示字符串中,使其成为有效的字符串表达式。如果要以这种方式逐字查看字符串,请单击工具提示右侧的放大镜,或查看包含字符串的条目。我猜您正在调试器中查看值,并看到它们有两个斜杠 这很正常。调试器将显示两个斜杠,即使实际的字符串表示形式只有一个斜杠。这只是习惯调试器时需要克服的又一个困难
请确保,当您实际使用字符串时,它们仍然只有一个斜杠(使用任何一种方法)。我猜您可能被调试器弄糊涂了 如果将鼠标悬停在VS中的局部变量上,字符串将被转义,因此单个
\
将显示为\
要查看字符串的真实内容,请将其输出到某个地方以供显示(例如,到控制台)或将鼠标悬停在变量上,单击出现的小放大镜旁边的箭头,然后选择“文本可视化工具”。如此快速的回答!我做了一个debug.assert,确实有正确的字符串值。我想这只是你应该知道的关于c#中的可视化工具的事情之一,而不是vb。从来没有想过他们会有不同的行为,但现在我知道了。
string requiredString = string.Format(@"{0}\\{1}",str1,str2);