2010-05-29 4 views
4

Оба делают то же самое. Каков наиболее эффективный способ сравнения двух строк? Equals() или Compare()? Есть ли различия?Каков наиболее эффективный способ сравнения строк?

 if (String.Equals(StringA, StringB, StringComparison.OrdinalIgnoreCase)) 
     { 
      // Your code goes here 
     } 

     if (String.Compare(StringA, StringB, true) == 0) 
     { 
      // Your code goes here 
     } 
+1

Вы говорите о скорости? Потому что, если вы, простой цикл и секундомер ответят на ваш вопрос –

ответ

0

Почему бы вам не попробовать его с помощью микрочипа и узнать?
Пусть каждое утверждение выполняется по крайней мере 100000 раз.

+0

И почему нисходящий сигнал, пожалуйста, объясните? Сам вопрос не говорит, где OP думает, что необходимо выяснить, какова разница в производительности. Лучший способ узнать это - сравнить его. –

+7

Я думаю, что SO должно сделать это правило, что downvote потребует объяснения. –

0

Here - сравнение от Noah Coad.

+0

Эта статья неверна. Он допустил огромную ошибку в своих тестах. –

+4

Какова ошибка, которую он совершил Филиппом? – Spock

3

Equals() сообщит вам, равны они или нет. Compare() скажет вам , как равно они. Он «возвращает целое число, которое указывает их относительное положение в порядке сортировки». Что касается производительности, в основном то же самое для почти всех целей.

+1

+1, см. Http://blogs.msdn.com/b/bclteam/archive/2007/05/31/string-compare-string-equals-josh-free.aspx для получения дополнительной информации. –

+0

-1 Не ответом на вопрос. –

+0

Как это не так? Он спросил, какие отличия есть и какой способ был наиболее эффективен, и я дал ответ на оба вопроса ... –

Смежные вопросы