跪求:将lambda表达式定义为dynamic 报错

dandan12 2012-09-11 09:49:01
dynamic formatPrice = (double x) => { return string.Format(x, "N2"); };
--报错讯息:无法将lambda表达式转换为dynamic类型
这个错误怎么解决?
...全文
229 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanglong19891129 2012-09-11
  • 打赏
  • 举报
回复
var formatPrice =( (double x) => { return string.Format(x, "N2"); });
在加个括号试试
qqtt789632147 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

我可能没有说清楚,我的目的是要使用委托变量,所以用dynamic formatPrice = (double x) => { return string.Format(x, "N2"); };,但是这样的写法报错
[/Quote]
既然报错就不能那样写了,至少现在不行……
Func<double, string>
其实就是
public delegate TResult Func<T, TResult>(T arg);
其实就是委托
dandan12 2012-09-11
  • 打赏
  • 举报
回复
我可能没有说清楚,我的目的是要使用委托变量,所以用dynamic formatPrice = (double x) => { return string.Format(x, "N2"); };,但是这样的写法报错
SQL77 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 2 楼 的回复:

var formatPrice = (double x) => { return string.Format(x, "N2"); };
?

var也不行的
无法将“lambda 表达式”赋予隐式类型的局部变量
[/Quote]
那就直接string吧.
qqtt789632147 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

var formatPrice = (double x) => { return string.Format(x, "N2"); };
?
[/Quote]
var也不行的
无法将“lambda 表达式”赋予隐式类型的局部变量
qqtt789632147 2012-09-11
  • 打赏
  • 举报
回复
都报是错误了,只能改写法了

Func<double, string> formatPrice = (double x) => { return string.Format("{0:N2}", x); };
string str = formatPrice(10000D);
SQL77 2012-09-11
  • 打赏
  • 举报
回复
var formatPrice = (double x) => { return string.Format(x, "N2"); };
?
zhanglong19891129 2012-09-11
  • 打赏
  • 举报
回复
你返回的是string;
再说你这样定义有什么意义?

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧