gpt4 book ai didi

c# - 使用 LINQ 和 lambda 将字符串置于正确的大小写形式

转载 作者:行者123 更新时间:2023-12-02 14:44:18 25 4
gpt4 key购买 nike

我有一个名为 ProperCase 的函数,它接受一个字符串,然后将每个单词中的第一个字母转换为大写。因此 ProperCase("john smith") 将返回“John Smith”。这是代码:

    public string ProperCase(string input)
{
var retVal = string.Empty;
var words = input.Split(' ');

foreach (var word in words)
{
if (word.Length == 1)
{
retVal += word.ToUpper();
}
else if (word.Length > 1)
{
retVal += word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower();
}

retVal += ' ';
}

if (retVal.Length > 0)
{
retVal = retVal.Substring(0, retVal.Length - 1);
}

return retVal;
}

这段代码工作得很好,但我很确定我可以使用 LINQ 和 lambda 更优雅地完成它。有人可以告诉我怎么做吗?

最佳答案

将输入字符串拆分为单词,将每个单词转换为标题大小写,然后将转换后的单词重新连接在一起:

TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;

string result = string.Join(" ", input.Split(' ')
.Select(word => textInfo.ToTitleCase(word))
.ToArray());

关于c# - 使用 LINQ 和 lambda 将字符串置于正确的大小写形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com