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

Antworten auf die Frage(14)

Ihre Antwort auf die Frage