Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Метод String.IndexOf (Char, Int32, Int32)

 

Возвращает индекс с отсчетом от нуля первого вхождения указанного символа в данном экземпляре. Поиск начинается с указанной позиции знака; проверяется заданное количество позиций.

Пространство имен:   System
Сборка:  mscorlib (в mscorlib.dll)

public int IndexOf(
	char value,
	int startIndex,
	int count
)

Параметры

value
Type: System.Char

Искомый знак Юникода.

startIndex
Type: System.Int32

Позиция, с которой начинается поиск.

count
Type: System.Int32

Количество позиций знаков для проверки.

Возвращаемое значение

Type: System.Int32

Отсчитываемая от нуля позиция индекса параметра value с начала строки, если символ найден. Значение –1, если символ не найден.

Exception Condition
ArgumentOutOfRangeException

count или startIndex является отрицательным значением.

-или-

startIndex больше длины этой строки.

-или-

count больше, чем длина этой строки, за вычетом startIndex.

Поиск начинается с startIndex и продолжает startIndex + count -1. Символ в startIndex + count не включены в поиск.

Индексация начинается с 0 (ноль). Параметр startIndex может иметь значение в диапазоне от 0 до длины экземпляра строки.

Этот метод выполняет поиск по порядковым номерам (без учета языка и региональных параметров), где два знака считаются эквивалентными, только в том случае, если совпадают их скалярные значения в Юникоде. Для выполнения поиска с учетом языка и региональных параметров, используйте CompareInfo.IndexOf метод, где скалярное значение Юникода, представляющее составной знак, например лигатуры "Æ" (U + 00 C 6), может считаться равным любому вхождению компонентов символа в правильной последовательности, например "AE" (U + 0041, U + 0045), в зависимости от языка и региональных параметров.

В следующем примере демонстрируется IndexOf метод.

// Example for the String.IndexOf( char, int, int ) method.
using System;

class IndexOfCII 
{
    public static void Main() 
    {
        string br1 = 
            "0----+----1----+----2----+----3----+----" +
            "4----+----5----+----6----+----7";
        string br2 = 
            "0123456789012345678901234567890123456789" +
            "0123456789012345678901234567890";
        string str = 
            "ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi " +
            "ABCDEFGHI abcdefghi ABCDEFGHI";

        Console.WriteLine( 
            "This example of String.IndexOf( char, int, int )\n" +
            "generates the following output." );
        Console.WriteLine( 
            "{0}{1}{0}{2}{0}{3}{0}", 
            Environment.NewLine, br1, br2, str );

        FindAllChar( 'A', str );
        FindAllChar( 'a', str );
        FindAllChar( 'I', str );
        FindAllChar( 'i', str );
        FindAllChar( '@', str );
        FindAllChar( ' ', str );
    }

    static void FindAllChar( Char target, String searched )
    {
        Console.Write( 
            "The character '{0}' occurs at position(s): ", 
            target );

        int     startIndex = -1;
        int     hitCount = 0;

        // Search for all occurrences of the target.
        while( true )
        {
            startIndex = searched.IndexOf( 
                target, startIndex + 1, 
                searched.Length - startIndex - 1 );

            // Exit the loop if the target is not found.
            if( startIndex < 0 )
                break;

            Console.Write( "{0}, ", startIndex );
            hitCount++;
        }

        Console.WriteLine( "occurrences: {0}", hitCount );
    }
}

/*
This example of String.IndexOf( char, int, int )
generates the following output.

0----+----1----+----2----+----3----+----4----+----5----+----6----+----7
01234567890123456789012345678901234567890123456789012345678901234567890
ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI

The character 'A' occurs at position(s): 0, 20, 40, 60, occurrences: 4
The character 'a' occurs at position(s): 10, 30, 50, occurrences: 3
The character 'I' occurs at position(s): 8, 28, 48, 68, occurrences: 4
The character 'i' occurs at position(s): 18, 38, 58, occurrences: 3
The character '@' occurs at position(s): occurrences: 0
The character ' ' occurs at position(s): 9, 19, 29, 39, 49, 59, occurrences: 6
*/

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 1.1
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1
Вернуться в начало
Показ: