There are various methods available for explicitly converting a string to an integer, such as:
Convert.ToInt16();Convert.ToInt32();Convert.ToInt64();int.Parse();But all these methods will throw a FormatException, if the input string contains non-numeric characters. For this, we need to write an additional exception handling(try..catch) to deal them in such cases.
Explanation with Examples:
So, let our input be:
string inputString = "10.2";
Example 1: Convert.ToInt32()
int convertedInt = Convert.ToInt32(inputString); // Failed to Convert 
// Throws an Exception "Input string was not in a correct format."
Note: Same goes for the other mentioned methods namely - Convert.ToInt16(); and Convert.ToInt64();
Example 2: int.Parse()
int convertedInt = int.Parse(inputString); // Same result "Input string was not in a correct format.
How do we circumvent this?
As told earlier, for handling the exceptions we usually need a try..catch as shown below:
try
{
    string inputString = "10.2";
    int convertedInt = int.Parse(inputString);
}
catch (Exception Ex)
{
    //Display some message, that the conversion has failed.         
}
But, using the try..catch everywhere will not be a good practice, and there may be some scenarios where we wanted to give 0 if the input is wrong, (If we follow the above method we need to assign 0 to convertedInt from the catch block). To handle such scenarios we can make use of a special method called .TryParse().
The .TryParse() method having an internal Exception handling, which will give you the output to the out parameter, and returns a Boolean value indicating the conversion status (true if the conversion was successful; false if it failed). Based on the return value we can determine the conversion status. Lets see one Example:
Usage 1: Store the return value in a Boolean variable