Elevação à potência de inteiro

Não lance para frente e para trás para dobrar apenas para usar Math.Pow () . Seriamente.

public static int Exp(this int x, int y)
{
int result = 1;
while (y > 0)
{
if ((y & 1) != 0)
{
result
*= x;
}
y
>>= 1;
x
*= x;
}
return result;
}