Исключение "System.ArgumentOutOfRangeException" - C#
Формулировка задачи:
Добрый день, господа. Проблема в следующем коде:
Вылетает исключение с описанием:
и
Прошу помочь, возможно вопрос глуп и я дурак, но все же
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace Test { class Word { public Word(string szNominative, string szGenitive, string szDative, string szAccusative, string szPrepositional) { Nominative = szNominative; Genitive = szGenitive; Dative = szDative; Accusative = szAccusative; Prepositional = szPrepositional; } public string Nominative { get; set; } public string Genitive { get; set; } public string Dative { get; set; } public string Accusative { get; set; } public string Prepositional { get; set; } } class Program { static void Main(string[] args) { var w = Parse(Console.ReadLine()); Console.WriteLine(w.Nominative); Console.WriteLine(w.Genitive); Console.WriteLine(w.Dative); Console.WriteLine(w.Accusative); Console.WriteLine(w.Prepositional); Console.ReadKey(); } static Word Parse(string szWord) { var _vowel = new Regex("[а|я|о|е|у|ю|и|э]"); if (_vowel.IsMatch(szWord.Substring(szWord.Length - 1, 1))) { return new Word(szWord, szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е")); } else { return new Word(szWord, szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у")); } } } }
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
В областяхreturn new Word(szWord, szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"));
return new Word(szWord, szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"), szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"));
Решение задачи: «Исключение "System.ArgumentOutOfRangeException"»
textual
Листинг программы
.Insert(szWord.Length - 1, "у"),
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д