最初接觸C#時就一直疑惑,比較字符串的方法:“Equals”與“==”在比較時性能有什麼區別呢?相信這個問題也曾困惑著許多人,那麼我們就一起來探討下:
比較一個string是否等於一個值,最初接觸C#的人會這麼寫:
string
myStr =
"value"
;
if
(myStr.Equals(
"value"
))
{
}
if
(myStr ==
"value"
)
{
}
然後,會有人笑你很菜,得知把要判斷的value寫在前面性能高些,要這樣寫:
string
myStr =
"value"
;
if
(
"value"
.Equals(myStr))
{
}
if
(
"value"
== myStr)
{
}
但或許他也只是從那個笑他很菜的前輩那裡得知應該這樣寫,而正確與否、差別,沒有真正自己去測試過。這裡先不告訴大家上面“前輩”說的正確與否,我們來測試下:
public
class
Program
{
public
static
void
Main(
string
[] args)
{
int
time = 100000000;
int
start, end, i;
bool
result;
string
myStr =
"thats funny"
;
Console.Title =
"Equals & == test"
;
/