Que é comparação rápida: Convert.ToInt32 (stringValue) == intValue ou stringValue == intValue.ToString ()
Ao desenvolver meu aplicativo, encontrei algumas coisas de comparação aqui:
string str = "12345";
int j = 12345;
if (str == j.ToString())
{
//do my logic
}
Eu estava pensando que o material acima também pode ser feito com:
string str = "12345";
int j = 12345;
if (Convert.ToInt32(str) == j)
{
//do my logic
}
Então eu desenvolvi um código de exemplo para testar em termos de desempenho qual é o melhor
var iterationCount = 1000000;
var watch = new Stopwatch();
watch.Start();
string str = "12345";
int j = 12345;
for (var i = 0; i < iterationCount; i++)
{
if (str == j.ToString())
{
//do my logic
}
}
watch.Stop();
E o segundo:
var iterationCount = 1000000;
var watch = new Stopwatch();
watch.Start();
string str = "12345";
int j = 12345;
for (var i = 0; i < iterationCount; i++)
{
if (Convert.ToInt32(str) == j)
{
//do my logic
}
}
watch.Stop();
Na execução dos dois testes acima, eu encontrei os testes acima dando quase o mesmo tempo decorrido. Eu gostaria de discutir qual é a melhor abordagem? E existe alguma outra abordagem melhor que duas acima de duas?