If you think you are, please post the answer to the equation:
2 ^ 2 = ?
2 ^ 2 = ?
public enum CalculateMode
{
XOR = 0,
Power
}
public static sbyte CalculateAnswer(byte value, CalculateMode mode)
{
switch (mode)
{
case CalculateMode.XOR:
return (sbyte)(value ^ value);
case CalculateMode.Power:
return (sbyte)Math.Pow(value, value);
}
return -1;
}
public static void Main(string[] args)
{
try
{
byte value = 0;
if (byte.TryParse(args[0], out value))
{
CalculateMode mode = (CalculateMode)Enum.Parse(typeof(CalculateMode), args[1]);
if (Enum.IsDefined(typeof(CalculateMode), mode))
{
Console.WriteLine("'{0}' calculated with {1} is {2}", value, mode.ToString(), CalculateAnswer(value, mode));
Console.ReadLine();
}
else
{
Console.WriteLine("'{0}' is not defined in CalculateMode.", mode.ToString());
Console.ReadLine();
}
}
else
{
Console.WriteLine("'value' is invalid. Check first param.");
}
}
catch (ArgumentException)
{
Console.WriteLine("mode wasn't defined in CalculateMode.");
Console.ReadLine();
}
}