zoukankan      html  css  js  c++  java
  • Parase与TryParase的比较

    Parase 如果不能满足转换条件,抛出异常;

    TrypParase 如果不能满足条件返回false,同时将值置为0

    性能比较
     1  double de;
     2             long ticks;
     3             Stopwatch watch = Stopwatch.StartNew();
     4             for (int i = 0; i < 100; i++)
     5             {
     6                 try
     7                 {
     8                     de = double.Parse("123");
     9                 }
    10                 catch (Exception ex)
    11                 {
    12 
    13                     de = 0;
    14                 }
    15             }
    16             watch.Stop();
    17             ticks = watch.ElapsedTicks;
    18             Console.WriteLine("double.Parase()成功,{0} Ticks", ticks);
    19             watch = Stopwatch.StartNew();
    20             for (int i = 0; i < 100; i++)
    21             {
    22                 if (!double.TryParse("123", out de))
    23                 {
    24                     de = 0;
    25                 }
    26             }
    27             watch.Stop();
    28             ticks = watch.ElapsedTicks;
    29             Console.WriteLine("double.TryParase(),{0} Ticks", ticks);
    30             watch = Stopwatch.StartNew();
    31             for (int i = 0; i < 100; i++)
    32             {
    33                 try
    34                 {
    35                     de = double.Parse("abc");
    36                 }
    37                 catch (Exception ex)
    38                 {
    39 
    40                     de = 0;
    41                 }
    42             }
    43             watch.Stop();
    44             ticks = watch.ElapsedTicks;
    45             Console.WriteLine("double Parase() errors,{0} Ticks",ticks);
    46             watch = Stopwatch.StartNew();
    47             for (int i = 0; i < 100; i++)
    48             {
    49                 if (!double.TryParse("abc", out de))
    50                 {
    51                     de = 0;
    52                 }
    53             }
    54             watch.Stop();
    55             ticks = watch.ElapsedTicks;
    56             Console.WriteLine("double Parase() errors,{0} Ticks", ticks);
  • 相关阅读:
    多进程多线程
    JS---闭包
    Canvas:时钟
    CANVAS画布与SVG的区别
    CSS盒模型
    CSS---伪类与伪元素的区别
    CSS生成内容
    利用画布绘制折线图
    uiwebview与objective-c
    GoBelieve JS IM SDK接入备忘
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2845194.html
Copyright © 2011-2022 走看看