转义用户名中的字符

时间:2013-02-14 01:54:49

标签: c# escaping

我有一个用户名示例:

CORP \名为myUsername

所以,如果我把它放在C#中,它想用" \"结果是:

corp \\ myusername但我需要是corp \ myusername。任何想法如何让它工作?

非常感谢

4 个答案:

答案 0 :(得分:1)

使用verbatim string

string username = @"corp\\myusername"

"\\" = \所以"\\\\" = \\

string username = "corp\\\\myusername"

答案 1 :(得分:0)

尝试在字符串前添加“@”符号,如下所示:

String.Format(@"corp\myusername")

or double up the "\" to escape the escape :)

答案 2 :(得分:0)

使用逐字字符串文字。

http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx

在“@”字符前加上文字,然后输入。

答案 3 :(得分:0)

我想你正试图将域名与用户名分开,在你的网站上使用Windows身份验证时获取应用程序的用户名,是吗?我还遇到了一些问题,其中一些机器会将值作为大写返回,有些则作为小写,因此请小心在源代码(或数据库)中强制执行该操作!

    string windowsLogin = HttpContext.Current.User.Identity.Name;
    int hasDomain = windowsLogin.IndexOf(@"\");
    if (hasDomain > 0)
    {
        windowsLogin = windowsLogin.Remove(0, hasDomain + 1);
    }
    return windowsLogin.ToLower();