ユーザー名の例があります:
corp\myusername
したがって、これをC#に入れると、「\」でエスケープしたいので、次のようになります。
corp\\myusername ですが、corp\myusername である必要があります。それを機能させる方法はありますか?
どうもありがとう
使用してverbatim string
string username = @"corp\\myusername"
また
"\\"
=\
そう"\\\\"
=\\
string username = "corp\\\\myusername"
次のように、文字列の前に「@」記号を追加してみてください。
String.Format(@"corp\myusername")
or double up the "\" to escape the escape :)
逐語的な文字列リテラルを使用します。
http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx
リテラルの前に「@」文字を付けると、それを入力できます。
サイトで Windows 認証を使用するときにアプリケーションのユーザー名を取得するために、ユーザー名からドメインを分離しようとしていると思います。また、一部のマシンでは値が大文字で返され、一部のマシンでは小文字で返されるという問題にも遭遇したため、ソース コード (またはデータベース) で大文字と小文字を区別するように注意してください。
string windowsLogin = HttpContext.Current.User.Identity.Name;
int hasDomain = windowsLogin.IndexOf(@"\");
if (hasDomain > 0)
{
windowsLogin = windowsLogin.Remove(0, hasDomain + 1);
}
return windowsLogin.ToLower();