Объясните работу куска кода с IndexOf - C#
Формулировка задачи:
Здравствуйте. Объясните, как работает кусок кода. Заранее спасибо.
Как работает indexof мне понятно, а связанное с cur не очень.
Листинг программы
- while (cur != -1)
- {
- cur = stroka.IndexOf(podstroka, cur);
- if (cur != -1)
- {
- cur++;
- count++;
- }
- }
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- namespace asd
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Введите строку");
- string stroka = Console.ReadLine();
- Console.WriteLine();
- Console.WriteLine("Введите подстроку");
- string podstroka = Console.ReadLine();
- Console.WriteLine();
- if (stroka.Length < podstroka.Length)
- Console.WriteLine("строка не может быть меньше подстроки");
- else
- {
- if (stroka.Contains(podstroka)) //строка содержит подстроку
- Console.WriteLine("Строка {0} содержит подстроку {1}", stroka, podstroka);
- else
- Console.WriteLine("Строка {0} не содержит подстроку {1}", stroka, podstroka);
- }
- int count = 0;//количество вхождений подстроки в строку
- int cur = 0;// текущее положение
- while (cur != -1)
- {
- cur = stroka.IndexOf(podstroka, cur);
- if (cur != -1)
- {
- cur++;
- count++;
- }
- }
- Console.WriteLine(count);
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Объясните работу куска кода с IndexOf»
textual
Листинг программы
- while (cur != -1) //пока IndexOf не вернет -1
- {
- cur = stroka.IndexOf(podstroka, cur); //ищем индекс вхождения podstroka в stroka, начиная с символа с индексом cur
- if (cur != -1) //если нашли
- {
- cur++; //поиск продолжим со следующего по индексу символа, чтобы не искать там, где уже искали
- count++; //увеличиваем счетчик вхождений
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д