測試使用的環境:vs2019+.net core3.1
原文地址:https://www.cnblogs.com/hhhnicvscs/p/14296715.html
反駁第一條:如何檢查代碼中的空字符串?

調整順序后輸出,如下圖:

上圖調整順序后,發現耗時排序發生了逆轉。為什么?自行研究。
using System;
using System.Diagnostics;
namespace ConsoleApp1
{
public class Compare
{
public static void First(string Value)
{
if (Value.Length != 0)
{
}
}
public static void Second(string Value)
{
if (Value != "")
{
}
}
public static void Third(string Value)
{
if (Value != string.Empty)
{
}
}
}
class Program
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();
Compare.Third("weuroovnuifbbno");
sw.Stop();
Console.WriteLine("Using Empty: " + sw.ElapsedTicks);
sw.Restart();
Compare.Second("weuroovnuifbbno");
sw.Stop();
Console.WriteLine("Using != " + sw.ElapsedTicks);
sw.Restart();
Compare.First("weuroovnuifbbno");
sw.Stop();
Console.WriteLine("Using Length: " + sw.ElapsedTicks);
Console.WriteLine("---------------");
sw.Restart();
Compare.First("joigjoerjgiogro");
sw.Stop();
Console.WriteLine("Using Length: " + sw.ElapsedTicks);
sw.Restart();
Compare.Second("joigjoerjgiogro");
sw.Stop();
Console.WriteLine("Using != " + sw.ElapsedTicks);
sw.Restart();
Compare.Third("joigjoerjgiogro");
sw.Stop();
Console.WriteLine("Using Empty: " + sw.ElapsedTicks);
Console.ReadLine();
}
}
}
反駁第二條:更改你的類型轉換風格

同樣的對順序進行調整,如下圖:

結果如圖,我也不說什么了。
至於剩下的,自己慢慢試吧。
最后,網上的文章,不要盡信之,最好是自己能夠實踐一下,這樣才能去其糟泊取其精華,別讓自己誤入歧途。
補充
第一條的基准測試結果


