Regular Expression Validation
I like to use regular expression validation. That is simple.
You only need to use:
Code
using System.Text.RegularExpressions |
For the numeric value validation:
Code
Regex regex = new Regex(@"^[0-9]*$"); | |
if (!regex.IsMatch(textBox1.Text)) | |
{ | |
MessageBox.Show("Invalid value, integer only!"); | |
} |
Use tryparse if that is possible or have a validation
I faced a number of error for parsing a string into int. In most of cases, there is a validation missing.
Code
If (IsNumeric(str)) | |
{ | |
int i =0; | |
Int32.TryParse(str,out i); | |
} |
You can use regex inside IsNumber or use foreach loop to check whether each character is numberic.
BUT NEVER NEVER DO LIKE THIS:
Code
try | |
{ | |
int i= Int32.Parse(i); | |
} | |
catch(FormatException) | |
{ | |
// Error Hanlding | |
} |
Try-catch is an expensive operation!!!!!!!!
Secondly, I like to use TryParse even in the case, the progam can tolrate invalid value. TryParse can allow the logic to continue execution. I hate some things like stack track on the screen.
Server Side logic vs Client Side logic
I think Server Side and Client Side, both have advantages and disadvantages.
Server Side:
Adv:
- More efficiency
- Easy to scale up(if the process is too complex, we can use load balancing)
Dis:
- Hard to deploy, to some complex operations, it may be required CLI store procs.
- More expertises required
Client Side:
Adv:
- Easy to be implement, You need to know C#
- Easy to deploy
- Easy to be manage
Dis:
- Less efficiency
I think, in generally, for complex operations, we can try to put that into the server side. For simple operations, just putting them into the client side logic. That is simple.
String.Format- a comma in each thousand
I have tried to Convert.ToString to convert int into a format a comma in each thousand. I am not successfully. Well, because I went to a wrong way. I shoulduse String.Format. Just like this
Display the int in thousand format(e.g. 1,200)
String.Format("{0:N0}",i);
Network Tester
This afternoon, I was practicing Socket Programming in C#. That is the reason I wrote this program.
http://www.itblogs.info/download/NetworkTester.zip
This program can check whether the port of IP address is opened.
Note that, that is only a toy to practice C#.