Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将SamAccountName改为大写_C#_Userprincipal - Fatal编程技术网

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
返回一个字符串

但是,通过使用索引器,您可以将第一个字符检索为type
char
,而不是type
string

首先需要对结果调用
ToString()

user.SamAccountName[0].ToString().ToUpper();
如所示,
SamAccountName
返回一个字符串

但是,通过使用索引器,您可以将第一个字符检索为type
char
,而不是type
string

首先需要对结果调用
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()就是这样,我添加了它,谢谢!。