C# lambda 表达式中的默认参数值
下午好,
有人可以告诉我在 C# 中使用 lambda 表达式时是否可以设置默认参数值吗?例如,如果我有代码,
public static Func<String, Int32, IEnumerable<String>> SomeFunction = (StrTmp, IntTmp) => { ... },
如何将 IntTmp
的默认值设置为例如 2?在方法中设置默认参数值的常用方法似乎不适用于这种表达式(我真的需要这种表达式之一)。
非常感谢。
Good afternoon,
Can someone please tell me if I can set default parameter values when using lambda expressions in C#? For example, if I have the code
public static Func<String, Int32, IEnumerable<String>> SomeFunction = (StrTmp, IntTmp) => { ... },
how can I set IntTmp
's default value to, for example, two? The usual way to set default parameter values in a method seems not to work with this kind of expressions (and I really need one of this kind here).
Thank you very much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非通过函数组合来做到这一点,否则您确实不能这样做:
您还可以尝试修改 SomeFunction 以采用可为 null 的值,但随后您必须显式传递 null 值并在方法主体中检查该值。
You really cannot unless you do it via composition of functions:
You could also try modifying SomeFunction to take a nullable, but then you would have to explicitly pass null for a value and check for that in the method body.