MessageBox.Show( @"Could not read the Windows Registry.
Bailing out...","Registry Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
这会显示第二行文本,前面有大量空白,除非我取消缩进字符串文字并使我的代码变得混乱。
有办法解决这个问题还是这只是 C# 工作原理的一个细节?
使用逐字字符串时,每个空格都很重要。下面的代码也不算太难看。
MessageBox.Show( "Could not read the Windows Registry.\n"+
"Bailing out...","Registry Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
逐字字符串文字的全部要点在于它也包含字符串中的空格。如果您不需要空格,则不必将其放入字符串中。
如果您想将一个字符串拆分为多行,而不包含字符串本身中的空格,您可以将字符串本身拆分为多个字符串,每个字符串都在一行上,如下所示:
MessageBox.Show( @"Could not read the Windows Registry."+
"Bailing out...","Registry Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
C# 11 现在具有 原始字符串文字,允许您编写:
MessageBox.Show("""
Could not read the Windows Registry.
Bailing out...
""",
"Registry Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
C# 使用最后一个
"""
的缩进来确定应保留哪些空白以及可以删除哪些空白。