Метод `IndexOf` используется для поиска индекса первого вхождения указанного символа или подстроки в строке. Возвращается индекс первого вхождения или -1, если символ или подстрока не найдены. Пример: ```csharp string текст = "Привет, мир!"; int индекс = текст.IndexOf('м'); // индекс будет равен 8 ``` Метод имеет несколько перегрузок, которые позволяют указывать начальный индекс для поиска, количество символов для поиска и параметры сравнения. Вот сигнатуры некоторых перегрузок метода `IndexOf` для класса `string` в C#: 1. `public int IndexOf(char value)` 2. `public int IndexOf(char value, int startIndex)` 3. `public int IndexOf(char value, int startIndex, int count)` 4. `public int IndexOf(string value)` 5. `public int IndexOf(string value, int startIndex)` 6. `public int IndexOf(string value, int startIndex, int count)` 7. `public int IndexOf(string value, StringComparison comparisonType)` 8. `public int IndexOf(string value, int startIndex, StringComparison comparisonType)` 9. `public int IndexOf(string value, int startIndex, int count, StringComparison comparisonType)` Дальше разберем некоторые перегрузки. ### Поиск индекса по подстроке ```csharp public int IndexOf(string value) ``` Метод `IndexOf` ищет первое вхождение подстроки в основной строке и возвращает индекс первого символа первого вхождения подстроки. Если подстрока не найдена, метод возвращает `-1`. Пример: ```csharp string text = "Привет, мир! Привет, всем!"; string substring = "Привет"; int position = text.IndexOf(substring); Console.WriteLine("Позиция подстроки: " + position); ``` В предложенном примере переменная `position` будет равна `0`, так как подстрока "Привет" начинается с самого начала строки `mainString`. Если подстрока не была найдена, `position` была бы равна `-1`. ### По подстроке с определённого индекса ```csharp public int IndexOf(string value, int startIndex) ``` Пример: ```csharp string text = "Привет, мир! Привет, всем!"; // Начнем поиск с 10-го символа int position = text.IndexOf("Привет", 10); Console.WriteLine("Позиция подстроки: " + position); ``` В данном случае, первое вхождение слова "Привет" будет проигнорировано, и метод `IndexOf` найдёт второе вхождение, начиная с 10-го символа. В переменной `position` будет храниться индекс начала второго вхождения подстроки "Привет".