WPF Programmer is easy to Android Programming
I am learning the application programming on Android OS. I found that is easier to catch up because I am a WPF Programmer. Both of them are using xml to draw UI. That is not a strange thing for myself.
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);
