int.TryParse syntatic sugar
Maybe use an extension method:
public static class StringExtensions{ public static int TryParse(this string input, int valueIfNotConverted) { int value; if (Int32.TryParse(input, out value)) { return value; } return valueIfNotConverted; }}
And usage:
string x = "1234";int value = x.TryParse(0);
Edit: And of course you can add the obvious overload that already sets the default value to zero if that is your wish.
This answer is only for those who use at least C# 7.
You can now declare the out parameter inline.
int.TryParse("123", out var result);
Exemplary usage:
if (int.TryParse("123", out var result)) { //do something with the successfully parsed integer Console.WriteLine(result);} else { Console.WriteLine("That wasn't an integer!");}
MSDN: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7#out-variables