none
字串處理反斜線(單一反斜線) RRS feed

  • 問題

  • 環境 visual studio 2012 ,C#,windows Form

    我要透過GPIB和安捷倫的儀器通訊(SCPI),要丟一個路徑的字串給儀器 例如:"D:\Box\Test.txt"

    但C# 的string 自動將路徑改為 "D:\\Box\\Test.txt"  ,會導致儀器報錯。

    在C# 的string 要如何真正儲存單一反斜線的字元?

    我要的不是 @"D:\Box\Test.txt" 這種語法。

    或有沒有其他替代的方式?

    2017年11月29日 上午 03:01

解答

所有回覆

  • 有試過反過來寫嗎:

    D:/Box/Test.txt

    2017年11月29日 上午 03:29
  • string Replace
    2017年11月29日 上午 03:51
  • ?????
    • 已標示為解答 panda828 2017年11月29日 上午 08:20
    • 已編輯 [-] 2018年1月11日 下午 03:01
    2017年11月29日 上午 08:06
  • "D:\\Box\\Test.txt"就是单一反斜线,\\叫做转义字符,实际存储的就是一个\。@"D:\Box\Test.txt"是禁用转义,以上两种写法完全相同。你的仪器报错应该不是这个原因,首先请先确认你的仪器接收的是Ascii还是Unicode,C#中的字串都是Unicode,也就是双字节文本,如果你的仪器不支持双字节自然就会报错。
    我的確是犯了其他錯誤導致儀器報錯,謝謝你的解釋,讓我了解這兩種寫法實際的儲存內容。
    2017年11月29日 上午 08:22