我必须将每个单词的最后一个字母大写。
输入:这是堆叠流量
输出:这是一个很好的例子
我试图用以下代码实现它:
return String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(c => c.Last((s1 => Char.ToUpper(s1)))));
但它没有编译。
我在声明Char.ToUpper(s1)
错误1:
无法将类型'char'隐式转换为'bool'
错误2:
无法将lambda表达式转换为委托类型 'System.Func'因为块中的一些返回类型 不能隐式转换为委托返回类型
答案 0 :(得分:5)
这个怎么样?
var result = String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(c => c.Substring(0, c.Length - 1) + char.ToUpper(c.Last())));
它占用了单词的整个子字符串,仅更改了最后一个字符。