IndexOf Método (String, Int32, Int32)
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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

 

Indica el índice de base cero de la primera aparición de la cadena especificada 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(
	string value,
	int startIndex,
	int count
)

Parámetros

value

Cadena 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

Type: System.Int32

Devuelve la posición de índice de base cero de value si se encuentra dicha cadena; de lo contrario, devuelve -1.Si value es String.Empty, el valor devuelto es startIndex.

Exception Condition
ArgumentNullException

El valor de value es null.

ArgumentOutOfRangeException

count o startIndex es negativo.

O bien

startIndex es mayor que la longitud de esta cadena.

O bien

count es mayor que la longitud de esta cadena menos startIndex.

Numeración del índice empieza desde cero (0).El parámetro startIndex puede estar comprendido entre 0 y la longitud de la instancia de cadena.

Este método realiza una búsqueda de palabras (distingue mayúsculas de minúsculas y la referencia cultural) utilizando la referencia cultural actual.La búsqueda comienza en startIndex y continúa startIndex + count -1.El carácter startIndex + count no está incluido en la búsqueda.

Los juegos de caracteres incluyen caracteres que se pueden pasar por alto, que son los caracteres que no se tienen en cuenta al realizar una comparación lingüística o en la que se tiene en cuenta la referencia cultural.En una búsqueda que tiene en cuenta la referencia cultural, si value contiene un carácter que se puede pasar por alto, el resultado es equivalente a buscar sin ese carácter.Si value sólo consiste en uno o más caracteres pueden pasar por alto la IndexOf(String, Int32, Int32) método siempre devuelve startIndex, que es la posición del carácter donde comienza la búsqueda.En el ejemplo siguiente, el IndexOf(String, Int32, Int32) se utiliza para buscar la posición de un guion (00AD), seguida de una "m" a partir de la tercera y la sexta posición de carácter de dos cadenas.Solo una de las cadenas contiene la subcadena necesaria.Si se ejecuta el ejemplo en la .NET Framework 4 o posterior, en ambos casos, porque el guion es un carácter puede pasar por alto, el método devuelve el índice de "m" en la cadena cuando realiza una comparación dependiente de la referencia cultural.Observe que en el caso de la primera cadena, que incluye el guion virtual seguido de una "m", el método no devuelve el índice del guion virtual, sino el índice de "m".

using System;

public class Example
{
   public static void Main()
   {
      string searchString = "\u00ADm";
      string s1 = "ani\u00ADmal" ;
      string s2 = "animal";

      Console.WriteLine(s1.IndexOf(searchString, 2, 4));
      Console.WriteLine(s2.IndexOf(searchString, 2, 4));
   }
}
// The example displays the following output:
//       4
//       3

Notas para los llamadores:

Como se explica en Best Practices for Using Strings in the .NET Framework, se recomienda que evite llamar a métodos de comparación de cadenas que sustituyen valores predeterminado y en su lugar, llame a métodos que requieren parámetros para especificarse explícitamente.Para utilizar las reglas de comparación de la referencia cultural actual para realizar esta operación, llame a la IndexOf(String, Int32, Int32, StringComparison) sobrecarga del método con un valor de StringComparison.CurrentCulture para su comparisonType parámetro.

En el ejemplo siguiente se busca el índice de todas las apariciones de la cadena "he" dentro de una subcadena de otra cadena.Tenga en cuenta que se debe volver a calcular el número de caracteres que se va a buscar para cada iteración de la búsqueda.

// Sample for String.IndexOf(String, Int32, Int32)
using System;

class Sample {
    public static void Main() {

    string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-";
    string br2 = "0123456789012345678901234567890123456789012345678901234567890123456";
    string str = "Now is the time for all good men to come to the aid of their party.";
    int start;
    int at;
    int end;
    int count;

    end = str.Length;
    start = end/2;
    Console.WriteLine();
    Console.WriteLine("All occurrences of 'he' from position {0} to {1}.", start, end-1);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("The string 'he' occurs at position(s): ");

    count = 0;
    at = 0;
    while((start <= end) && (at > -1))
        {
// start+count must be a position within -str-.
        count = end - start;
        at = str.IndexOf("he", start, count);
        if (at == -1) break;
        Console.Write("{0} ", at);
        start = at+1;
        }
    Console.WriteLine();
    }
}
/*
This example produces the following results:

All occurrences of 'he' from position 33 to 66.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

The string 'he' occurs at position(s): 45 56

*/

Universal Windows Platform
Disponible desde 4.5
.NET Framework
Disponible desde 1.1
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar:
© 2016 Microsoft