查看此语句:System.Security.Principal.WindowsIdentity.GetCurrent()。Name;

时间:2009-11-23 10:42:17

标签: c#

看看这句话:

messageBox.show( System.Security.Principal.WindowsIdentity.GetCurrent().Name);

此声明的输出是:

  

罗斯汉\ mohdibrahim.tasal

但我只想展示我:

  

mohdibrhaim.tasal

我该怎么做?

3 个答案:

答案 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应该没有任何分裂或额外的逻辑。