I have isolated a little bit of code that was causing a small debate between myself and another user. I have taken some of the things that he said and meshed it with the code that was being reviewed in the first place [here][1].
**Original Code**
while (!validInput)
{
var playerChoice = -1;
Console.WriteLine("Please choose your Gesture ");
gameSetup(listOfGestures);
try
{
playerChoice = Convert.ToInt32 (Console.ReadLine());
}
catch (FormatException e)
{
validInput = false;
}
if (playerChoice > 0 && playerChoice <= listOfGestures.Count)
{
playerGesture = listOfGestures[playerChoice - 1];
validInput = true;
}
else
{
validInput = false;
}
}
---
Here is what I came up with based on our [conversation][2].
**New Code**
while (!validInput)
{
var playerChoice = -1;
Console.WriteLine("Please choose your Gesture ");
gameSetup(listOfGestures);
validInput = int.TryParse(Console.ReadLine(),out playerChoice);
if (playerChoice > 0 && playerChoice <= listOfGestures.Count)
{
playerGesture = listOfGestures[playerChoice - 1];
validInput = true;
}
}
---
Do I need to create a new method to sort out user input and whether or not it is an integer inside the min and max bounds?
[1]: http://codereview.stackexchange.com/q/36482/18427
[2]: http://chat.stackexchange.com/rooms/13448/loops