SamAccountName 到大写
SamAccountName to UpperCase
UserPrincipal
的SamAccountName
属性不是return字符串吗?我正在尝试获取 SamAccountName
的第一个字符并将其转换为 .ToUpperCase()
但 .ToUpperCase()
不适用于 SamAccountName
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
user.SamAccountName[0].toUpperCase();
}
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
user.SamAccountName[0].ToString().ToUpper();
}
这样试试
明确表示为documentation、SamAccountName
、returns一个字符串。
但是,通过使用索引器,您检索的第一个字符类型为 char
,而不是类型 string
。
您需要先对结果调用 ToString()
。
user.SamAccountName[0].ToString().ToUpper();
当您在 string
上使用索引器时,它将 return 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)
则不需要。
UserPrincipal
的SamAccountName
属性不是return字符串吗?我正在尝试获取 SamAccountName
的第一个字符并将其转换为 .ToUpperCase()
但 .ToUpperCase()
不适用于 SamAccountName
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
user.SamAccountName[0].toUpperCase();
}
private void firstCharToUppercase(Prinicpal principal)
{
UserPrinicpal user = principal as UserPrincipal;
user.SamAccountName[0].ToString().ToUpper();
}
这样试试
明确表示为documentation、SamAccountName
、returns一个字符串。
但是,通过使用索引器,您检索的第一个字符类型为 char
,而不是类型 string
。
您需要先对结果调用 ToString()
。
user.SamAccountName[0].ToString().ToUpper();
当您在 string
上使用索引器时,它将 return 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)
则不需要。