關于字元串的判斷,EndsWith和Contains下面做了兩個簡單的例子,運作後測試了一下所耗時間。
public void TestContains()
{
DateTime _starTime = DateTime.Now;
string str = "2020年-10kV分支線";
for (int i = 0; i < 1000000; i++)
{
if (str.Contains("分支線"))
{
continue;
}
}
var timeSpan = DateTime.Now - _starTime;
string message1 = string.Format("\n共耗時{0}分{1}秒{2}毫秒", timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds);
GlobalVariable.CurrentDoc.Editor.WriteMessage(message1);
}
public void TestEndsWith()
{
DateTime _starTime = DateTime.Now;
string str = "2020年-10kV-分支線";
for (int i = 0; i < 1000000; i++)
{
if (str.EndsWith("分支線"))
{
continue;
}
}
var timeSpan = DateTime.Now - _starTime;
string message1 = string.Format("\n共耗時{0}分{1}秒{2}毫秒", timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds);
GlobalVariable.CurrentDoc.Editor.WriteMessage(message1);
}
結果分析:
将以上兩個方法各運作10次,取平均時間
TestContains耗時110ms
TestEndsWith耗時384.5ms
結論:字元串的Contains方法要比EndsWith效率要高。
這隻是平常運用的情況下,如有其他情況,請各位朋友告知,感謝!