如何在C#中的字符串中使用\

Bri*_*gar 4 c#

我想在字符串中使用\,就像

string str="abc\xyz";
Run Code Online (Sandbox Code Playgroud)

但这给了我错误.

我也试过了

string str="abc\\xyz";
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作.谁能帮我吗?

Dav*_*nde 14

您可以转义角色,如下所示:

string str="abc\\xyz";
Run Code Online (Sandbox Code Playgroud)

或者像这样使用逐字字符串文字:

string str=@"abc\xyz";
Run Code Online (Sandbox Code Playgroud)

所以你的第二个例子应该有效.

有关更多信息,请参见此处


Jon*_*eet 5

好吧,后者 ( "abc\\xyz") 肯定会在字符串中产生反斜杠 - 或者您可以使用逐字字符串文字

string str = @"abc\xyz";
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用调试器查看您的字符串,它会经常(总是?)为您“转义”它们,因此您会看到"abc\\xyz". 这可能会导致相当多的混乱。单独查看字符,或将字符串打印到控制台。

你有没有什么说的方式是“不工作” -你可以提供更多的细节?如果它只是调试器输出,那么上面的内容可能就是您要查找的全部内容 - 但否则您应该告诉我们您所看到的与您期望看到的。

看看我关于字符串的文章,了解更多关于字符串的一般信息、转义、调试器等。


Web*_*euw 5

string str="abc\\xyz";
Run Code Online (Sandbox Code Playgroud)

通常,这应该工作.另一种选择是:

string str = @"abc\xyz";
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 2

public class Program
{
    static void Main(string[] args)
    {
        string str = "abc\\xyz";
        Console.WriteLine(str);
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用。它打印abc\xyz.