Объясните работу куска кода с IndexOf - C#

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

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

Здравствуйте. Объясните, как работает кусок кода. Заранее спасибо.
Листинг программы
  1. while (cur != -1)
  2. {
  3. cur = stroka.IndexOf(podstroka, cur);
  4. if (cur != -1)
  5. {
  6. cur++;
  7. count++;
  8. }
  9. }
Как работает indexof мне понятно, а связанное с cur не очень.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. namespace asd
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Console.WriteLine("Введите строку");
  13. string stroka = Console.ReadLine();
  14. Console.WriteLine();
  15. Console.WriteLine("Введите подстроку");
  16. string podstroka = Console.ReadLine();
  17. Console.WriteLine();
  18. if (stroka.Length < podstroka.Length)
  19. Console.WriteLine("строка не может быть меньше подстроки");
  20. else
  21. {
  22. if (stroka.Contains(podstroka)) //строка содержит подстроку
  23. Console.WriteLine("Строка {0} содержит подстроку {1}", stroka, podstroka);
  24. else
  25. Console.WriteLine("Строка {0} не содержит подстроку {1}", stroka, podstroka);
  26. }
  27. int count = 0;//количество вхождений подстроки в строку
  28. int cur = 0;// текущее положение
  29. while (cur != -1)
  30. {
  31. cur = stroka.IndexOf(podstroka, cur);
  32. if (cur != -1)
  33. {
  34. cur++;
  35. count++;
  36. }
  37. }
  38. Console.WriteLine(count);
  39. Console.ReadKey();
  40. }
  41. }
  42. }

Решение задачи: «Объясните работу куска кода с IndexOf»

textual
Листинг программы
  1. while (cur != -1) //пока IndexOf не вернет -1
  2. {
  3.     cur = stroka.IndexOf(podstroka, cur); //ищем индекс вхождения podstroka в stroka, начиная с символа с индексом cur
  4.     if (cur != -1) //если нашли
  5.     {
  6.         cur++; //поиск продолжим со следующего по индексу символа, чтобы не искать там, где уже искали
  7.         count++;  //увеличиваем счетчик вхождений
  8.     }
  9. }

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


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

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

8   голосов , оценка 4.25 из 5

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

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

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