我必须把每个单词的最后一个字母大写.
输入:这是堆栈溢出
输出: thiS iS stacK oveR floW
我试图用以下代码实现它:
return String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(c => c.Last((s1 => Char.ToUpper(s1)))));
Run Code Online (Sandbox Code Playgroud)
但它没有编译.
我在声明中有两个错误 Char.ToUpper(s1)
错误1:
无法将类型'char'隐式转换为'bool'
错误2:
无法将lambda表达式转换为委托类型'System.Func',因为块中的某些返回类型不能隐式转换为委托返回类型
那这个呢?
var result = String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(c => c.Substring(0, c.Length - 1) + char.ToUpper(c.Last())));
Run Code Online (Sandbox Code Playgroud)
它接受单词的整个子字符串并仅更改最后一个字符.
| 归档时间: |
|
| 查看次数: |
4502 次 |
| 最近记录: |