看看这句话:
messageBox.show( System.Security.Principal.WindowsIdentity.GetCurrent().Name);
此声明的输出是:
罗斯汉\ mohdibrahim.tasal
但我只想展示我:
mohdibrhaim.tasal
我该怎么做?
答案 0 :(得分:7)
您可以在“\”上拆分名称并检索第二项。
e.g。
System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split('\\')[1]
修改强> 首先检查是否存在反斜杠,你会想要保证这个安全 - 如果没有反斜杠,你只需要按原样取名。
答案 1 :(得分:3)
为什么不在达到'\'
之前修剪返回值,
以下代码可以解决问题
WindowsIdentity current = System.Security.Principal.WindowsIdentity.GetCurrent();
if(current!=null)
{
string name = current.Name;
string value = name.Substring(name.IndexOf('\\') + 1);
}
答案 2 :(得分:2)
Environment.UserName应该没有任何分裂或额外的逻辑。