Исключение "System.ArgumentOutOfRangeException" - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, господа. Проблема в следующем коде:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace Test
  7. {
  8. class Word
  9. {
  10. public Word(string szNominative,
  11. string szGenitive,
  12. string szDative,
  13. string szAccusative,
  14. string szPrepositional)
  15. {
  16. Nominative = szNominative;
  17. Genitive = szGenitive;
  18. Dative = szDative;
  19. Accusative = szAccusative;
  20. Prepositional = szPrepositional;
  21. }
  22. public string Nominative { get; set; }
  23. public string Genitive { get; set; }
  24. public string Dative { get; set; }
  25. public string Accusative { get; set; }
  26. public string Prepositional { get; set; }
  27. }
  28. class Program
  29. {
  30. static void Main(string[] args)
  31. {
  32. var w = Parse(Console.ReadLine());
  33. Console.WriteLine(w.Nominative);
  34. Console.WriteLine(w.Genitive);
  35. Console.WriteLine(w.Dative);
  36. Console.WriteLine(w.Accusative);
  37. Console.WriteLine(w.Prepositional);
  38. Console.ReadKey();
  39. }
  40. static Word Parse(string szWord)
  41. {
  42. var _vowel = new Regex("[а|я|о|е|у|ю|и|э]");
  43. if (_vowel.IsMatch(szWord.Substring(szWord.Length - 1, 1)))
  44. {
  45. return new Word(szWord,
  46. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  47. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"),
  48. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  49. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"));
  50. }
  51. else
  52. {
  53. return new Word(szWord,
  54. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"),
  55. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  56. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"),
  57. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"));
  58. }
  59. }
  60. }
  61. }
Вылетает исключение с описанием:

Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.

В областях
Листинг программы
  1. return new Word(szWord,
  2. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  3. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"),
  4. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  5. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "е"));
и
Листинг программы
  1. return new Word(szWord,
  2. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"),
  3. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"),
  4. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "а"),
  5. szWord.Remove(szWord.Length - 1, 1).Insert(szWord.Length, "у"));
Прошу помочь, возможно вопрос глуп и я дурак, но все же

Решение задачи: «Исключение "System.ArgumentOutOfRangeException"»

textual
Листинг программы
  1. .Insert(szWord.Length - 1, "у"),

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы