【问题标题】:How to print a backslash (\) at the beginning of a string (c#) [duplicate]如何在字符串的开头打印反斜杠(\)(c#)[重复]
【发布时间】:2014-02-25 12:03:00
【问题描述】:

我得到了字符串:

string test = "\test.xml";

如何将其打印为:\test.xml

【问题讨论】:

  • 字符串测试 = "\\test.xml";
  • 简单说明一下:您能够编译此代码的唯一原因是“\t”是制表符的转义序列。
  • 谁反对这个?你不必用谷歌搜索你知道的一切!在 SO 上问简单的问题有什么问题?
  • @Alex Asking 需要另一个人花时间回答,首先搜索它只需要你的。我认为先搜索是一种普遍的礼貌。如果您将鼠标悬停在否决按钮上,您会看到何时应该对一个问题投反对票:“这个问题没有显示任何研究工作;......”。问简单的问题很好,在我看来不先思考就问。
  • @Dirk 我猜。至少 OP 接受了一个答案 :) 这是一件好事。

标签: c# string backslash


【解决方案1】:

\ 是一个 escape sequence character

Escape Sequence -- Represents

             \\ -- Backslash

如果你想在你的字符串中使用它,你应该用另一个 \ 字符来转义它。

string test = "\\test.xml";

或者你可以使用verbatim string literal@这样的字符;

string test = @"\test.xml";

【讨论】:

  • +1 我个人更喜欢@"...",因为它使文本更具可读性并且摆脱了所有丑陋的转义。
  • @Alex:它还允许保留多行字符串,这对于 sql 查询尤其方便。
  • 是的,实际上'\t'一个 字符,一个TAB。每个'e''s''t''.''x''m''l' 也是一个字符,因此问题中的字符串长度为8,而不是9 .
【解决方案2】:

只需将转义序列添加为:

string test = "\\test.xml";

更好的选择是在前面加上 '@' 以避免字符串中的所有转义序列:

string test = @"\test.xml";

【讨论】:

    【解决方案3】:
    string test = @"\test.xml";
    

    string test = "\\test.xml";
    

    【讨论】:

    • 您的答案中的\\ 也被 Stack Overflow 软件转义了......(我也需要编辑此评论。)
    • 不知何故迟到了,不是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多