Welche ist schneller? Regex oder EndsWith?
Was wäre schneller?
public String Roll()
{
Random rnd = new Random();
int roll = rnd.Next(1, 100000);
if (Regex.IsMatch(roll.ToString(), @"(.)\1{1,}$"))
{
return "doubles";
}
return "none";
}
Ode
public String Roll()
{
Random rnd = new Random();
int roll = rnd.Next(1, 100000);
if (roll.ToString().EndsWith("11") || roll.ToString().EndsWith("22") || roll.ToString().EndsWith("33") || roll.ToString().EndsWith("44") || roll.ToString().EndsWith("55") || roll.ToString().EndsWith("66") || roll.ToString().EndsWith("77") || roll.ToString().EndsWith("88") || roll.ToString().EndsWith("99") || roll.ToString().EndsWith("00"))
{
return "doubles";
}
return "none";
}
Ich verwende derzeit eine sehr lange Liste mit if-Anweisungen, die voller regulärer Ausdrücke ist, um zu überprüfen, ob ein int mit double, triple, quad, quint usw. endet. Daher möchte ich wissen, welches schneller ist, bevor ich alles ändere es