首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SamAccountName到UpperCase

SamAccountName到UpperCase
EN

Stack Overflow用户
提问于 2016-09-15 00:30:50
回答 3查看 144关注 0票数 0

UserPrincipalSamAccountName属性不返回字符串吗?我正在尝试获取SamAccountName的第一个字符并将其转换为.ToUpperCase(),但.ToUpperCase()不适用于SamAccountName

代码语言:javascript
复制
private void firstCharToUppercase(Prinicpal principal)
{
    UserPrinicpal user = principal as UserPrincipal;
    user.SamAccountName[0].toUpperCase();
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-15 00:34:51

正如documentation清楚地表示的那样,SamAccountName返回一个字符串。

但是,通过使用索引器,您将检索类型为char而不是类型string的第一个字符。

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

代码语言:javascript
复制
user.SamAccountName[0].ToString().ToUpper();
票数 1
EN

Stack Overflow用户

发布于 2016-09-15 00:36:28

string上使用索引器时,它将返回表示该索引处的字符的char。类型char确实有一个ToUpper方法,但它是静态的。我不知道为什么.NET团队选择将string.ToUpper设置为非静态,而将char.ToUpper设置为静态设置。

试试这个:

代码语言:javascript
复制
private void firstCharToUppercase(Prinicpal principal)
{
    UserPrinicpal user = principal as UserPrincipal;
    char.ToUpper(user.SamAccountName[0]);
}

与首先对字符调用ToString()相比,此方法更适合将单个字符转换为大写。ToString()分配了一个字符串,稍后需要再次进行垃圾回收,而char.ToUpper(char)则不会。

票数 1
EN

Stack Overflow用户

发布于 2016-09-15 00:34:12

代码语言:javascript
复制
    private void firstCharToUppercase(Prinicpal principal)
{
    UserPrinicpal user = principal as UserPrincipal;
    user.SamAccountName[0].ToString().ToUpper();
}

试着这样做

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39495497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档