C#@“”如何插入标签?
最近我发现我可以写一个"
通过写两个”ex @"abc""def"
。 我觉得@ string文字很有用。 但是我如何在标签或换行符中书写? 是“唯一可用的技巧? 我试过搜索msdn但我找不到它。
当您使用@
修饰符时,您使用的是一个名为逐字字符串文字的东西。
这意味着您在开始和结束引号之间放置的任何内容都将在字符串中使用。
这包括Carraige Return,Line Feed,Tab等。
简答:只需按Tab键即可。
但有一点需要注意。 您的IDE可能决定插入空格而不是制表符,因此您最好使用连接。
没有正常的转义序列在逐字字符串文字中起作用(这就是重点!)。 如果你想在那里有一个标签,你要么必须放入实际的标签字符,要么使用字符串连接:
string x = @"some\stuff" + "\t" + @"some more stuff";
你首先使用的是逐字字符串文字? 可能有更好的方法来处理它。
引用转义序列 ( ""
)是唯一一个在逐字字符串文字中起作用的“转义”。 所有其他转义只适用于常规字符串文字。
作为一种解决方法,你可以使用像这样丑陋的东西:
string.Format(@"Foo{0}Bar", "\t");
或在字符串中包含实际制表符。 这应该也适用于常规字符串文字,但是空格,特别是制表符,通常不能在不同的文本编辑器中存活:-)
对于换行,它可以说更容易:
@"Foo Bar";
一旦你用@开始一个字符串,你可以在它们之间放置任何东西,也可以选项卡或换行符:
string test = @"test bla bjkl";
上面的字符串将包含4个换行符。
使用@语法时,将禁用所有字符转义。 因此,要获得制表符或换行符,您必须插入文字TAB或换行符。 这很简单 – 只需点击键盘上的TAB或ENTER按钮即可。 请注意,如果将TAB设置为输入空格而不是文字TAB字符,则可能需要更改TAB和Visual Studio的行为。
如果您开始在字符串中需要“特殊”字符,那么您可能应该使用普通字符串“”并使用\而不是使用@“”来转义它们。
您在字符串中存储了哪些数据? 你有什么理由在@“”中需要它?
字符串前面的@c假设你没有转义,所以你需要连接:
string value = @"Hello ""big""" +"\t"+ @"world \\\\\";
换句话说,是“”是唯一可用的技巧。
只需在字符串中写一个制表符或换行符即可。 @“”字符串文字识别代码文件中写入的每个字符。 相反,转义序列不起作用。
我肯定不会键入标签,因为您的编辑器可能会插入一些空格。 使用\ t是更好的选择。
最正确的方法:
string str = string.Format( CultureInfo.CurrentCulture, // or InvariantCulture @"abc{0}cde", "\t");
和
string str = string.Format( CultureInfo.CurrentCulture, // or InvariantCulture @"abc{0}cde", Environment.NewLine);
你可以在字符串中有多个{0}
外观。
使用’\\ t’来转义第一个反斜杠,然后它将被解释为选项卡。 很抱歉这个混乱…这个网站逃过了第一个斜线…真的在编辑时有三个斜线….