而当把loopCount的值加大为10000时输出结果如下:

  不同的运行环境下的耗时结果不一样,但是两者之间的耗时差距是很大的

  当然了,这样的测试有点片面,但从测试数据我们足以得到一种信息——不要把可预知的异常放到TryCatch里面让系统捕获处理

  忽然想到,我这个测试时在转换错误时的测试,那么程序如果不捕获到异常会怎么样呢,把代码改成如下

    for (int i = 0; i < loopCount; i++) { 
                  strList.Add( i.ToString()); 
              }

  运行1000次时结果如下(运行环境不同会出现不同结果,我测试多次都是用TryParse比较耗时,大约多100-300)

  而在运行10000次时结果如下:

  为了验证是否因为TryParse和Convert之间有差异,将程序改动后运行1000次结果如下:

  10000次运行结果如下:

  多次运行发现结果基本相差不大,偶尔会出现不用TryCatch会耗时长很多,这个留待大牛去解释,但以上测试表明在不出现错误的情况下二者的性能损耗差不多,但在出现错误的情况下却相距甚大。