Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

int.TryParse syntatic sugar

int.TryPrase is great and all, but there is only one problem...it takes at least two lines of code to use:

int intValue; string stringValue = "123"; int.TryParse(stringValue, out intValue); .... 

Of course I can do something like:

string stringValue = "123"; int intValue = Convert.ToInt32(string.IsNullOrWhiteSpace(stringValue) ? 0 : stringValue);  

on just one line of code.

How can I perform some magic to get int.TryParse to use a one liner, or is there yet a third alternative out there?

Thanks!

Bezden answered the question best, but in reality I plan on using Reddogs solution.

like image 860
O.O Avatar asked Jan 06 '11 22:01

O.O


People also ask

What is int TryParse?

TryParse(String, Int32) Converts the string representation of a number to its 32-bit signed integer equivalent. A return value indicates whether the conversion succeeded.

What is difference between Parse and TryParse?

The Parse method returns the converted number; the TryParse method returns a boolean value that indicates whether the conversion succeeded, and returns the converted number in an out parameter. If the string isn't in a valid format, Parse throws an exception, but TryParse returns false .

Why should one use TryParse instead of parse?

Parse() method throws an exception if it cannot parse the value, whereas TryParse() method returns a bool indicating whether it succeeded. However, TryParse does not return the value, it returns a status code to indicate whether the parse succeeded and does not throw exception.


1 Answers

int intValue = int.TryParse(stringValue, out intValue) ? intValue : 0; 
like image 144
Vlad Bezden Avatar answered Sep 20 '22 05:09

Vlad Bezden