2010-03-02 18 views
8

Bir Predicate içinde TryParse yöntemini nasıl kullanırım? TryParse bir çıkış parametresi gerektirir. Aşağıdaki örnekte, x'in bir tam sayıya dönüştürülebileceğini belirlemek için TryParse'i aramak istiyorum. Ben gerçekten out parametresi umurumda değil - Ben sadece bunu derlemek için almak istiyorum.Bir Predicate içinden TryParse'i nasıl arayabilirim

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

cevap

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

bir lambda "ekspresyon" kısım çoklu tablolar ile tam bir işlev gövdesi sağlayan, parantez içine de sarılabilir. Bu bedenin sonucu, uyguladığınız ima edilen fonksiyonun geri dönüş değeri ile aynı olduğu sürece, bu parantezler arasında ne yapmanız gerekiyorsa onu yapabilirsiniz. Eğer çıkış umurumda değil ise

3

, bunu şöyle yapabilirsiniz:

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