C# 将SamAccountName改为大写
C# 将SamAccountName改为大写,c#,userprincipal,C#,Userprincipal,UserPrincipal的SamAccountName属性是否不返回字符串?我正试图获取我的SamAccountName的第一个字符,并将其转换为.ToUpperCase(),但是.ToUpperCase()不适用于SamAccountName private void firstCharToUppercase(Prinicpal principal) { UserPrinicpal user = principal as UserPrincipal; user.SamAcco
UserPrincipal
的SamAccountName
属性是否不返回字符串?我正试图获取我的SamAccountName
的第一个字符,并将其转换为.ToUpperCase()
,但是.ToUpperCase()
不适用于SamAccountName
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
user.SamAccountName[0].toUpperCase();
}
像这样试试
尝试这样做,SamAccountName
返回一个字符串
但是,通过使用索引器,您可以将第一个字符检索为typechar
,而不是typestring
首先需要对结果调用ToString()
user.SamAccountName[0].ToString().ToUpper();
如所示,SamAccountName
返回一个字符串
但是,通过使用索引器,您可以将第一个字符检索为typechar
,而不是typestring
首先需要对结果调用ToString()
user.SamAccountName[0].ToString().ToUpper();
当您在
字符串
上使用索引器时,它将返回表示该索引处字符的char
。类型char
确实有一个ToUpper
方法,但它是静态的。我不知道.NET团队为什么选择将string.ToUpper
设置为非静态,而将char.ToUpper
设置为静态
试试这个:
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
char.ToUpper(user.SamAccountName[0]);
}
与首先对字符调用
ToString()
相比,此方法更适合于生成单个字符的大写字母ToString()
分配一个以后需要再次进行垃圾收集的字符串,而char.ToUpper(char)
不分配。在字符串上使用索引器时,它将返回表示该索引处字符的char
。类型char
确实有一个ToUpper
方法,但它是静态的。我不知道.NET团队为什么选择将string.ToUpper
设置为非静态,而将char.ToUpper
设置为静态
试试这个:
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
char.ToUpper(user.SamAccountName[0]);
}
与首先对字符调用ToString()
相比,此方法更适合于生成单个字符的大写字母ToString()
分配一个以后需要再次进行垃圾收集的字符串,而char.ToUpper(char)
不分配。.First()
也不可用,但.ToString().ToUpper()代码>就是这样,我添加了它,谢谢.First()
也不可用,但.ToString().ToUpper()代码>就是这样,我添加了它,谢谢!。