在foreach循环中检查特殊字符`(tick)?

时间:2014-02-21 07:36:06

标签: c# telnet

我正在开发一个C#应用程序,目的是通过telnet命令配置无线接入点。前端基于WPF构建。

问题是我必须使用C#传递一个特殊字符`(tick或negation)。除了tick之外,所有其他特殊字符都准确传递。

在接入点预定义的特殊字符的telnet命令是:

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

特殊字符需要传入引号(“”),如:

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

但是对于`它需要通过:

 _apCommand = set interface  wlan0  ssid  "\`"

上面是实际的telnet控制台命令,所有其他特殊的spcial字符只是传入引号,但`(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";
              }

          }

整个故事是针对`(勾号)所有其他角色准确传递的标志。

任何人都可以告诉我如何检查并输入\作为上述代码中的'符号遭遇。

3 个答案:

答案 0 :(得分:1)

你可以这样做......

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

答案 1 :(得分:0)

我相信你应该能够使用文字字符串:

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

答案 2 :(得分:0)

嗯,每当我必须处理多级特殊字符转义时,我都会使用一个很好的技巧:我使用逐字字符串说明符@

string tick = @"\'";

通过这种方式,您可以确保将这些字符用作控制台输入。 因此,不需要.Net语言强制执行字符串转义。