2010-03-02 40 views
8

如何在谓词中使用TryParse方法? TryParse需要一个输出参数。在下面的例子中,我想调用TryParse来确定x是否可以转换为整数。我真的不关心out参数 - 我只是想让它编译。如何在谓词中调用TryParse

 string[] nums = num.Split('.'); 
     PexAssume.TrueForAll(nums, x => int.TryParse(x, out (int)0)); 

回答

9
string[] nums = num.Split('.'); 
PexAssume.TrueForAll(nums, x => { int result; return int.TryParse(x, out result); }); 

的λ的“表达”部分可以包裹在大括号,允许全功能体多个语句。只要该体的结果与您正在实现的隐含函数的返回值相同,就可以在这些大括号之间做任何您需要做的事情。

3

如果你不关心的输出,你可以做这样的:

string[] nums = num.Split('.'); 
int unused; 
PexAssume.TrueForAll(nums, x => int.TryParse(x, out unused));