标签:src png ima seconds div 调查 技术 不清楚 ace
先说结论:decimal.TryParse性能远远超过try{} catch{},毕竟异常处理非常耗时间,至于decimal.TryParse的内部实现还不清楚,等项目结束再做调查。
源码:
using System;
using System.Diagnostics;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
decimal result;
string value = "test";
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
for (int i = 0; i < 10000; i++)
{
result = decimal.TryParse(value.ToString(), out result) ? result : 0;
}
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed.TotalMilliseconds);
stopwatch.Start();
for (int i = 0; i < 10000; i++)
{
try
{
result = Convert.ToDecimal(value);
}
catch
{
result = 0;
continue;
}
}
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed.TotalMilliseconds);
Console.ReadLine();
}
}
}
输出:

decimal.TryParse和Convert.ToDecimal+try{} catch{}的性能比较
标签:src png ima seconds div 调查 技术 不清楚 ace
原文地址:https://www.cnblogs.com/lywu/p/14083474.html