【发布时间】:2011-04-04 14:07:16
【问题描述】:
if ( (new Func</*out*/ string, bool>( (/*out*/ string uname) => ....
更多细节:这是登录函数的一部分,我只想让我的 lambda 函数使用 out 参数更改登录名用户,并说用户使用它的 bool 返回登录。
我真的明白我可以返回元组,然后获取我的字符串值,但为了个人清楚,我想要完全输出参数。如果用户没有登录,我最好只返回带有 null 的字符串,只是想知道我是否可以在 lambda 函数中使用 out 参数。
我真的知道语句位置上带有表达式的代码不是那么干净但是没有人说我是否真的对编译器不利。
【问题讨论】:
-
注意,这样的 lambda 表达式可以有
ref/out参数。例如这行得通:delegate bool Logger(out string name); Logger f = (out string bar) => { bar = ""; //assign return ... };..就是Action/Func你做不到。你需要自己的代表。