C#@""如何插入标签?

19 c#

最近我发现我可以"通过写两个"ex @"abc""def".我发现@字符串文字很有用.但我如何在标签或换行符中写?是""唯一可用的技巧?我试过搜索msdn但我找不到它.

Joh*_*zen 26

当您使用@修饰符时,您使用的是一个名为逐字字符串文字的东西.

这意味着您在开始和结束引号之间放置的任何内容都将在字符串中使用.

这包括Carraige Return,Line Feed,Tab等.

简答:只需按Tab键即可.

但有一点需要注意.您的IDE可能决定插入空格而不是制表符,因此最好使用连接.

  • 请记住,选项卡可能无法在某些工具中生存.在文字中使用文字标签是很少见的,这可能是假设谁写了什么也盲目地将它们改变为空格:-) (6认同)

Jon*_*eet 18

没有正常的转义序列在逐字字符串文字中起作用(这就是重点!).如果你想在那里有一个标签,你要么必须放入实际的标签字符,要么使用字符串连接:

string x = @"some\stuff" + "\t" + @"some more stuff";
Run Code Online (Sandbox Code Playgroud)

你首先使用的是逐字字符串文字?可能有更好的方法来处理它.


Joe*_*oey 8

引号转义序列("")是唯一的"逃离",在工作的逐字字符串.所有其他转义适用于常规字符串文字.

作为一种解决方法,你可以使用像这样丑陋的东西:

string.Format(@"Foo{0}Bar", "\t");
Run Code Online (Sandbox Code Playgroud)

或在字符串中包含实际制表符.这应该也适用于常规字符串文字,但是空格,特别是制表符,通常不能在不同的文本编辑器中存活:-)

对于换行,它可以说更容易:

@"Foo
Bar";
Run Code Online (Sandbox Code Playgroud)