Исключение "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, "у"),