使用双引号和反斜杠将VB.NET中的字符串转换为C#

使用双引号和反斜杠将VB.NET中的字符串转换为C#,c#,vb.net,string,C#,Vb.net,String,我很难将我的字符串从vb.net正确转换为C 字符串的输出应该与vb.net中的类似。任何帮助都将不胜感激 这是vb.net字符串 Dim cmdS As String = "-on """ & path & """ -ot file -actn ace -ace ""n:DOMAIN\" & user & ";p:change""" 调试时,字符串如下所示 "-on "\\lex-data\Home\Thth" -ot file -actn ace -ace

我很难将我的字符串从vb.net正确转换为C

字符串的输出应该与vb.net中的类似。任何帮助都将不胜感激

这是vb.net字符串

Dim cmdS As String = "-on """ & path & """ -ot file -actn ace -ace ""n:DOMAIN\" & user & ";p:change"""
调试时,字符串如下所示

"-on "\\lex-data\Home\Thth" -ot file -actn ace -ace "n:DOMAIN\thth;p:change""
现在在C#中,我尝试这个

string cmdS = "-on \"" + path + "\" -ot file -actn ace -ace \"n:DOMAIN\\" + username + ";p:change\"\"";
c语言的输出#

我尝试了其他字符串变体,但最糟糕的是它添加了更多反斜杠。

在C中,您可以将@放在字符串前面,并使用双引号生成类似VB的字符串。此语法中的新行也可用作返回键

例:


VB.Net使用双引号作为转义字符,但C#使用反斜杠。因此,在VB.Net字符串中,我们需要找出哪些双引号用作转义字符。通过分析VB.Net中的输出字符串(上述问题),字符串中有四(4)个双引号(通过忽略外部引号),这意味着VB.Net使用了四个双引号字符作为转义字符,因此通过用反斜杠(在C#中)替换这四个双引号,我们得到了C#中的字符串

现在在C#中,反斜杠用作转义字符,所以当我们想要打印单个反斜杠时,反斜杠会被使用两次。检查这个字符串

string alpha = "Path to the verses folder D:\\Data\\Islamic\\verses";

在输出中,它将消除每对中的反斜杠

您要实现的目标是什么?这是vb到c#的转换实践问题吗?与vb.net的区别在哪里?期望的输出是什么?最后我只看到了双精度的“”(你在C#中做了2个,但在vb.net中只做了一个)是的,我尝试将它从vb转换为C#。如果你在调试器中查看C#字符串,那么它包括转义字符。VB调试器不使用,因为它不使用它们。“实际”字符串将不包含它们,因此您看到的输出似乎是正确的。我尝试使它看起来像vb.net中的输出,因为该字符串是use,它有一个进程命令,而我在c#中没有得到Accepts,这将是:
string cmdS=@“-on”“+path+@”“-ot file-actn ace-ace”“n:DOMAIN\“+user”@";p:更改“”;
如果我做得正确,我会在@stakx更新答案,谢谢你的评论
    string str = @"Here is a quote "" 
and a new line";
string str2 = "-on \"" + path + "\" -ot file -actn ace -ace \"n:DOMAIN\\" 
              + user + ";p:change\"";
string alpha = "Path to the verses folder D:\\Data\\Islamic\\verses";