下午好,
请问我在使用C#中的lambda表达式时是否可以设置默认参数值?例如,如果我的代码如下:
public static Func<String, Int32, IEnumerable<String>> SomeFunction = (StrTmp, IntTmp) => { ... },
我怎样才能将IntTmp
的默认值设置为例如两个?在方法中设置默认参数值的通常方式似乎不能用于这种类型的表达式(而我确实需要这种类型的一种)。
非常感谢。
下午好,
请问我在使用C#中的lambda表达式时是否可以设置默认参数值?例如,如果我的代码如下:
public static Func<String, Int32, IEnumerable<String>> SomeFunction = (StrTmp, IntTmp) => { ... },
我怎样才能将IntTmp
的默认值设置为例如两个?在方法中设置默认参数值的通常方式似乎不能用于这种类型的表达式(而我确实需要这种类型的一种)。
非常感谢。
除非您通过函数组合来实现,否则您真的无法做到:
public static Func<String, Int32, IEnumerable<String>> SomeFunction =
(StrTmp, IntTmp) => { ... };
public static Func<String, IEnumerable<String>> SomeFunctionDefaulted =
strTmp => SomeFunction(strTmp, 2);