我必须大写每个单词的最后一个字母。无法将lambda表达式转换为委托类型'System.Func <char,bool>'
输入:这是堆放超过流量
输出:这是堆栈溢出流
我试着用下面的代码来实现它:
return String.Join(" ", s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(c => c.Last((s1 => Char.ToUpper(s1)))));
但不编译。
我对声明两个错误Char.ToUpper(s1)
错误1:
不能键入 '字符' 隐式转换为 '布尔'
错误2:
无法转换lambda表达式的委托类型 “System.Func”,因为一些块 的返回类型不隐式转换为委托返回类型
这里的问题是'Last'可选择一个*谓词*;它是“与{this}过滤器匹配的最后一件事物”;不是“用{这}与最后一件事” – 2014-09-23 15:42:24
@MarcGravell感谢您的解释 – Shaharyar 2014-09-23 15:49:24