2014-02-21 65 views
0

我正在使用C#應用程序,目的是通過telnet命令配置無線接入點。前端建立在WPF上。在foreach循環中檢查特殊字符'(tick)?

問題是,有一個特殊的字符`(剔或否定),我必須通過使用C#。所有其他特殊字符都是準確傳遞,除了剔號。

其在接入點中預定義的特殊字符telnet命令是:

_apCommand = "set interface " + _inputWLAN + " ssid " + _apSSID + "\n"; 

特殊字符需要在引號來傳遞(「」),如:

_apCommand = "set interface " + _inputWLAN + " ssid " + "\#" + "\n"; 

但對於`它需要通過像:

_apCommand = set interface wlan0 ssid "\`" 

以上是實際的telnet控制檯命令所有其他特殊的特殊字符只是在引號中傳遞,但是(tick)也需要(\)反斜槓。 這裏是我的C#代碼:

string _apSSID = ""; 
     string _apSSIDOrignal = ""; 

     if (_inputWLAN == "wlan0") 
     { 
      _apSSIDOrignal = this.ConfigLibrarySSID; 
      foreach (char c in _apSSIDOrignal) 
      { 

       _apSSID += "\"" + c + "\""; 
      } 


       { 
        if (this.ConfigLibraryVAP == VAP.vap0) 
         _apCommand = "set interface " + _inputWLAN + " ssid " + _apSSID + "\n"; 

        else 
         _apCommand = "set interface " + _inputWLAN + (this.ConfigLibraryVAP) + " ssid " + _apSSID + "\n"; 
       } 

      } 

整個故事是`(打勾)簽署所有其他字符傳遞準確。

任何人都可以告訴我如何檢查並在上面的代碼中輸入\符號相遇。

回答

1

你可以做這樣的...

"set interface" + wlan0 + " ssid " + "\\\`" 
0

我相信你應該能夠使用該文本字符串:

_apCommand = "set interface " + wlan0 + " ssid " + @"`"; 
0

嗯,有一個很好的技巧,我喜歡每當我必須處理多級特殊字符轉義時使用:我使用逐字字符串說明符@

string tick = @"\'";

這樣,您就可以確保只有那些字符作爲控制檯輸入。 所以沒有.Net語言強加的字符串轉義是必需的。