无法将lambda表达式转换为委托类型';System.Func<;char,bool>';
本文关键字:System Func char gt bool lt 类型 lambda 表达式 转换 | 更新日期: 2023-09-27 18:24:01
我必须将每个单词的最后一个字母大写。
输入:这是堆栈溢出
输出:thiS iStack oveR floW
我试图用以下代码实现它:
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",因为块中的某些返回类型不能隐式转换为委托返回类型
这个怎么样?
var result = String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(c => c.Substring(0, c.Length - 1) + char.ToUpper(c.Last())));
它获取单词的整个子字符串,只更改最后一个字符。