It is said that C # exception handling is very performance-consuming.
So let's perform a test.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { Stopwatch w = new Stopwatch(); w.Start(); int a =10; for (int i = 0; i <= 1000; i++) { Int32.TryParse("a", out a); } w.Stop(); Console.WriteLine(w.ElapsedMilliseconds); w.Reset(); w.Start(); for (int i = 0; i <= 1000; i++) { try { Int32.Parse(null); } catch (Exception e) { } } w.Stop(); Console.WriteLine(w.ElapsedMilliseconds); Console.Read(); } }}
The input result is:
0
6780
The gap is big enough. It seems that it is necessary to use tryparse in C!
Let's take a look at java. The same Code:
public class Test {public static void main(String[] args) {long start = System.currentTimeMillis();for(int i=0; i<1000; i++){try{Integer.parseInt(null);}catch(Exception e){}}System.out.println(System.currentTimeMillis()-start);}}
Output result:
2
The gap is big enough! It seems that Jiang is still old and hot. Microsoft has not optimized enough ......