Während meine Anwendung entwickeln ich auf einige Vergleich Sachen hergekommen war es:, die schnell Vergleich: Convert.ToInt32 (String) == intValue oder String == intValue.ToString()
string str = "12345";
int j = 12345;
if (str == j.ToString())
{
//do my logic
}
Ich dachte dass das obige Material auch mit getan werden kann:
string str = "12345";
int j = 12345;
if (Convert.ToInt32(str) == j)
{
//do my logic
}
So entwickelte ich ein Beispielcode zu testen, in Bezug auf die Leistung, die man besser
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();
Und zweitens ein:
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();
Auf den beiden Prüfungen laufen fand ich die obigen Tests wurden verstrichen fast die gleiche Zeit. Ich würde gerne diskutieren, welches ist der bessere Ansatz? Und gibt es einen anderen Ansatz als zwei über zwei?
Wenn "000123"! = 123, ist dies definitiv besser. –