*****比較if-else與三目運算符的效率*****
C# code
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
compare();
}
private static void compare()
{
Console.WriteLine("*****比較if-else與三目運算符的效率*****");
for (int j = 1; j < 20; j++)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("這是第" + j + "次測試。");
Console.ForegroundColor = ConsoleColor.White;
Stopwatch time1 = new Stopwatch();
time1.Start();
for (int i = 0; i < 100000000; i++)
{
int temp = 0;
if (temp == 1)
temp = 1;
else
temp = 0;
}
time1.Stop();
TimeSpan t1 = time1.Elapsed;
Console.WriteLine("if-else執行時間是:"+t1.ToString());
time1.Reset();
Stopwatch time2 = new Stopwatch();
time2.Start();
for (int i = 0; i < 100000000; i++)
{
int temp = 0;
temp = temp == 0 ? 1 : 0;
}
time2.Stop();
TimeSpan t2 = time2.Elapsed;
Console.WriteLine("三目運算符執行時間是:" + t2.ToString());
time2.Reset();
string conclusion = (t1 < t2) ? "if-else效率高" : "三目元算符效率高";
float f1 = t1.Ticks;
float f2 = t2.Ticks;
float efficiency = (f1 < f2) ? f2 / f1 : f1 / f2;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("結論是:" + conclusion + ",效率比是:" + efficiency.ToString());
}
Console.WriteLine("*****按下回車鍵關閉窗口*****");
Console.ReadLine();
}
}
}
您新建一個控制臺程序,然後放入上述代碼執行。
我運行的結果如下(運行時間可能不一樣,不過結論都是一樣的)
*****比較if-else與三目運算符的效率*****
這是第1次測試。
if-else執行時間是:00:00:00.4057753
三目運算符執行時間是:00:00:00.3721558
結論是:三目元算符效率高,效率比是:1.090337
這是第2次測試。
if-else執行時間是:00:00:00.4042576
三目運算符執行時間是:00:00:00.3778070
結論是:三目元算符效率高,效率比是:1.070011
這是第3次測試。
if-else執行時間是:00:00:00.4047548
三目運算符執行時間是:00:00:00.3696018
結論是:三目元算符效率高,效率比是:1.09511
這是第4次測試。
if-else執行時間是:00:00:00.4016809
三目運算符執行時間是:00:00:00.3694739
結論是:三目元算符效率高,效率比是:1.08717
這是第5次測試。
if-else執行時間是:00:00:00.4046356
三目運算符執行時間是:00:00:00.3712424
結論是:三目元算符效率高,效率比是:1.08995
這是第6次測試。
if-else執行時間是:00:00:00.4015913
三目運算符執行時間是:00:00:00.3709766
結論是:三目元算符效率高,效率比是:1.082525
這是第7次測試。
if-else執行時間是:00:00:00.4050849
三目運算符執行時間是:00:00:00.3707200
結論是:三目元算符效率高,效率比是:1.092698
這是第8次測試。
if-else執行時間是:00:00:00.4048344
三目運算符執行時間是:00:00:00.3703526
結論是:三目元算符效率高,效率比是:1.093105
這是第9次測試。
if-else執行時間是:00:00:00.4026887
三目運算符執行時間是:00:00:00.3697847
結論是:三目元算符效率高,效率比是:1.088982
這是第10次測試。
if-else執行時間是:00:00:00.4053084
三目運算符執行時間是:00:00:00.3703975
結論是:三目元算符效率高,效率比是:1.094252
這是第11次測試。
if-else執行時間是:00:00:00.4023193
三目運算符執行時間是:00:00:00.3702872
結論是:三目元算符效率高,效率比是:1.086506
這是第12次測試。
if-else執行時間是:00:00:00.4036262
三目運算符執行時間是:00:00:00.3694859
結論是:三目元算符效率高,效率比是:1.092399
這是第13次測試。
if-else執行時間是:00:00:00.4018123
三目運算符執行時間是:00:00:00.3697152
結論是:三目元算符效率高,效率比是:1.086816
這是第14次測試。
if-else執行時間是:00:00:00.4028462
三目運算符執行時間是:00:00:00.3695552
結論是:三目元算符效率高,效率比是:1.090084
這是第15次測試。
if-else執行時間是:00:00:00.4023199
三目運算符執行時間是:00:00:00.3705751