开发者

How to use \ in a string in C#

I want to use \ in a string, like

string str="abc\xyz";

But this is giving me error.

I have also tried

string str="abc\\xyz";
开发者_如何学Go

But still it isnt working. Can anyone help me out?


You can either escape the character, like so:

string str="abc\\xyz";

or use a verbatim string literal like so:

string str=@"abc\xyz";

So your second example should work.

See here for more information.


Well, the latter ("abc\\xyz") will certainly result in a backslash in the string - or you could use a verbatim string literal:

string str = @"abc\xyz";

Note that if you use the debugger to look at your strings, it will often (always?) "escape" them for you, so you'd see "abc\\xyz". This can cause a fair amount of confusion. Either look at the characters individually, or print the string to the console.

You haven't said in what way it "isn't working" - could you give more details? If it's just the debugger output, then the above may be all you're looking for - but otherwise you should tell us what you're seeing vs what you expected to see.

Have a look at my article about strings for more information about strings in general, escaping, the debugger etc.


string str="abc\\xyz";

Normally, this should work. An alternative is:

string str = @"abc\xyz";


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

This works fine. It prints abc\xyz.


You can do it like this

string str = @"abc\xyz";


string str = @"abc\xyz";


You can do this:

string str = @"abc\xyz";

That tells says that the slash is significant and not an escape character.


You'll need to prefix the string with the '@' symbol to stop the compiler trying to treat it as an escape sequence. So string str = @"abc\xyz"; should work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜