Exportar (0) Imprimir
Expandir todo

String.IndexOf (Método) (Char, Int32, Int32)

Devuelve el índice de la primera aparición del carácter especificado en la instancia en cuestión. La búsqueda comienza en una posición de carácter especificada y examina un número especificado de posiciones de caracteres.

Espacio de nombres: System
Ensamblado: mscorlib (en mscorlib.dll)

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

Parámetros

value

Carácter Unicode que se va a buscar.

startIndex

Posición en la que comienza la búsqueda.

count

Número de posiciones de caracteres que se van a examinar.

Valor devuelto

Posición de índice de value si se encuentra el carácter; en caso contrario, -1.

Tipo de excepciónCondición

ArgumentOutOfRangeException

El valor de count o startIndex es negativo.

O bien

count + startIndex especifica una posición que supera el final de la instancia.

La búsqueda comienza en startIndex y continúa en startIndex + count -1. El carácter situado en startIndex + count no se incluye en la búsqueda.

La numeración de los índices empieza por cero.

La búsqueda de value distingue entre mayúsculas y minúsculas.

Este método realiza una búsqueda de ordinales (sin tener en cuenta la referencia cultural) donde un carácter se considera equivalente a otro sólo si los valores escalares Unicode son iguales. Para realizar una búsqueda en la que se tenga en cuenta la referencia cultural, hay que utilizar el método CompareInfo.IndexOf, donde un valor escalar Unicode que representa un carácter creado previamente, como la ligadura 'Æ' (U+00C6), puede considerarse equivalente a cualquier aparición de los componentes del carácter en la secuencia correcta, como "AE" (U+0041, U+0045), dependiendo de la referencia cultural.

En el siguiente ejemplo de código se muestra el método 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
*/

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

class IndexOfCII
{
    public static void main(String[] args)
    {
        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}", 
            new Object[] { Environment.get_NewLine(), br1, br2, str });
        FindAllChar('A', str);
        FindAllChar('a', str);
        FindAllChar('I', str);
        FindAllChar('i', str);
        FindAllChar('@', str);
        FindAllChar(' ', str);
    } //main

    static void FindAllChar(char target, String searched)
    {
        Console.Write("The character '{0}' occurs at position(s): ", 
            String.valueOf(target));
        int startIndex = -1;
        int hitCount = 0;

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

            // Exit the loop if the target is not found.
            if (startIndex < 0) {
                break;
            }     
            Console.Write("{0}, ", String.valueOf(startIndex));
            hitCount++;
        }
        Console.WriteLine("occurrences: {0}", String.valueOf(hitCount));
    } //FindAllChar
} //IndexOfCII
/*
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 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft