我正在开发一个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";
}
}
整个故事是针对`(勾号)所有其他角色准确传递的标志。
任何人都可以告诉我如何检查并输入\作为上述代码中的'符号遭遇。
答案 0 :(得分:1)
"set interface" + wlan0 + " ssid " + "\\\`"
答案 1 :(得分:0)
我相信你应该能够使用文字字符串:
_apCommand = "set interface " + wlan0 + " ssid " + @"`";
答案 2 :(得分:0)
嗯,每当我必须处理多级特殊字符转义时,我都会使用一个很好的技巧:我使用逐字字符串说明符@
。
string tick = @"\'";
通过这种方式,您可以确保将这些字符用作控制台输入。 因此,不需要.Net语言强制执行字符串转义。