private InputResult TryGetMistakeInput(int arrayLength) { var input = string.Empty; var state = InputResult.InputState.Incorrect; while (state == InputResult.InputState.Incorrect) { input = _view.GetMistakeInput(); if (!string.IsNullOrEmpty(input) && !string.IsNullOrWhiteSpace(input) && !Regex.IsMatch(input, "[^0-9]+") && input.Length == 1 && int.Parse(input) < arrayLength) { state = InputResult.InputState.Success; } else { _view.ShowMistakeInputError(); } } return(new InputResult(state, input)); }