scylla
scylla

Reputation: 65

Checking empty text boxes which convert strings to integers using "int.Parse" method in C#

How do I check the empty check boxes which convert strings to integers using "int.Parse" in C#?

If I try to pass blank text boxes, visual studio gives me this error - "Input string was not in a correct format."

enter image description here

I already read some questions on stackoverflow which address the same issue, but I know that various people use various methods to do the same task. So I would like to know them as well. Please start with the simplest way you know first.

Upvotes: 1

Views: 3060

Answers (5)

Mukesh Sakre
Mukesh Sakre

Reputation: 156

Instead of directly parsing string representation into integer, check whether it is able to convert in integer. .NET has TryParse method of integer which tries to convert the string representation into int , and returns the bool value indicates whether the conversion succeeded. And if succeeded, stores the parsed value in second parameter of TryParse function which is of out type.

Note: TryParse method does not throw an exception if the conversion fails. It simply returns false indicates that conversion is got failed.

Ref : http://msdn.microsoft.com/en-us/library/f02979c7.aspx

Upvotes: 0

Govin
Govin

Reputation: 99

if you want it in single line of code

vb.net
int i = If(String.IsNullOrEmpty(TextBox1.Text), 0, Int32.Parse(TextBox1.Text))



c#

int i = (String.IsNullOrEmpty(TextBox1.Text)) ?? 0: Int32.Parse(TextBox1.Text)

Upvotes: 0

ManOfSteel
ManOfSteel

Reputation: 57

Why don't you just catch the exception

try
{
      int multiplyBy = int.Parse(textBox3.Text);
} catch(Exception){}

You can also catch(FormateException) if you like.

Hope this helps!

Upvotes: -2

Sébastien Garmier
Sébastien Garmier

Reputation: 1263

int multiplyBy;
if(int.TryParse(textBox3.Text, out multiplyBy)) {
   //success
} else {
   //string was not in correct format
}

The int.TryParse(string s, out int result) method trys to parse the string, but throws no exception if the format is wrong, it returns a bool indicating if the format was valid. The out int result parameter is the int wich should get the value.

Upvotes: 9

Steve
Steve

Reputation: 3061

Use Int32.TryParse to verify that the value in the text box is a valid integer

http://msdn.microsoft.com/en-us/library/f02979c7.aspx

You can check if the textbox has a value with:

string.IsNullOrEmpty(textbox.Text)

Upvotes: 4

Related Questions