C# | Método IndexOfAny()

En C#, el método IndexOfAny() es un método de string . Se utiliza para buscar el índice de caracteres especificado presente en la string, que será la primera aparición desde el índice de inicio. Devuelve el índice como un valor entero. Este método se puede sobrecargar cambiando la cantidad de argumentos que se le pasan.

  • Método IndexOfAny (Char[])
  • Método IndexOfAny (Char[], Int32)
  • Método IndexOfAny (Char[], Int32, Int32)

Método IndexOfAny (Char[])

Este método tomará un solo parámetro que es la array de caracteres que contiene uno o más caracteres para buscar. Buscará desde el índice de inicio, es decir, desde 0 de forma predeterminada y devuelve -1 si no se encuentra ningún carácter en ch .

Sintaxis:  

public int IndexOfAny(char[] ch)
  • Parámetro: este método tomará un solo parámetro de tipo System.Char[], que es la array de caracteres que contiene uno o más caracteres para buscar.
  • Valor devuelto: este método siempre devolverá la primera aparición en la instancia actual donde se encontró cualquier carácter de ch . Usó la posición de índice de base cero. El tipo de retorno de este método es System.Int32 .
  • Excepción: este método puede generar una excepción ArgumentNullException si ch es nulo.

Ejemplo: programa para demostrar el método público int IndexOfAny(char[] ch) . El método IndexOfAny buscará caracteres desde el principio hasta el final de la string y devolverá un valor entero como posición, que es la primera aparición de ese carácter.  

C#

// C# program to illustrate the
// public int IndexOfAny(char[] ch)
using System;
class GFG {
 
   // Main Method
    public static void Main()
    {
        String str = "GeeksForGeeks";
        Console.WriteLine("Given String : {0}\n", str);
 
        // to find single character
        // to start search to match character
        // 's' will be found at 5 position
        char[] ch = { 's' };
        Console.WriteLine(str.IndexOfAny(ch) + 1);
 
        // to find any character
        // to start search to match characters
        char[] ch1 = { 'a', 'b', 'c', 'e', 'f' };
 
        // 'a', 'b', 'c', 'e', 'f' then first
        // 'e' will be found at 2 position
        Console.WriteLine(str.IndexOfAny(ch1) + 1);
 
        char[] ch2 = { 'a', 'b', 'c' };
 
        // if no character found in string
        // then return -1;
        int m = str.IndexOfAny(ch2);
        if (m > -1)
            Console.Write(m);
        else
            Console.WriteLine("Not Found");
    }
}

Producción: 

Given String : GeeksForGeeks

5
2
Not Found

Método IndexOfAny (Char[], Int32)

Este método utiliza el índice basado en cero de la primera aparición en la instancia actual de cualquier carácter en una array de caracteres especificada. La búsqueda comienza desde una posición de carácter especificada.

Sintaxis:  

public int IndexOfAny(char[] ch, int startIndex)
  • Parámetros: este método toma dos parámetros, es decir , char[] ch de tipo System.Char[] que especifica la array de caracteres que se buscará y startIndex de tipo System.Int32 que especifica el índice de inicio desde donde se busca la string.
  • Valor devuelto: este método siempre devolverá la primera aparición en la instancia actual donde se encontró cualquier carácter de ch . Usó la posición de índice de base cero. El tipo de retorno de este método es System.Int32 .
  • Excepciones: este método dará dos excepciones, es decir, ArgumentNullException si ch es nulo y ArgumentOutOfRangeException si el índice de inicio es mayor que la string que se buscará o si es negativo .

Ejemplo: programa para demostrar el método público int IndexOfAny(char[] ch, int startIndex) . El método IndexOfAny buscará caracteres desde el inicio hasta el índice de inicio especificado hasta el final de la string y devolverá un valor entero como posición, que es la primera aparición de ese carácter. 

C#

// C# program to illustrate the
// public int IndexOfAny(char[] ch, int startIndex)
using System;
class GFG {
 
    // Main Method
    public static void Main()
    {
 
        String str = "GeeksForGeeks";
        Console.WriteLine("Given String : {0}\n", str);
 
        // to find single character
        char[] ch = { 's' };
        int startIndex = 6;
 
        // to start search from index 6 so character
        // 's' will be found at 13 position
        Console.WriteLine(str.IndexOfAny(ch, startIndex) + 1);
 
        // to find any character
        char[] ch1 = {'a', 'b', 'c', 'e', 'f'};
        int startIndex1 = 4;
 
        // to start search from index 4 so character
        // 'e' will be match first at 10 position
        Console.WriteLine(str.IndexOfAny(ch1, startIndex1) + 1);
 
        char[] ch2 = { 'a', 'b', 'c', 'f' };
        int startIndex2 = 5;
 
        // to start search from index 5
        // so no character found
        // its case sensitive search so 'f' is not match
        int m = str.IndexOfAny(ch2, startIndex2);
        if (m > -1)
            Console.Write(m);
        else
            Console.Write("Not Found");
    }
}

Producción: 

Given String : GeeksForGeeks

13
10
Not Found

public int IndexOfAny(char[] ch, int startIndex, int count)

Este método utiliza el índice basado en cero de la primera aparición en la instancia actual de cualquier carácter en una array de caracteres especificada. La búsqueda comienza desde la posición de carácter especificada y examina un número específico de posiciones de carácter.

Sintaxis:  

public int IndexOfAny(char[] ch, int startIndex, int count) 
  • Parámetros: este método toma tres parámetros, es decir , char[] ch de tipo System.Char[] que especifica la array de caracteres que se buscará, startIndex de tipo System.Int32 que especifica el índice de inicio desde donde se busca la string y el recuento de type System.Int32 especifica el número de posiciones de caracteres que se van a examinar.
  • Valor devuelto: este método siempre devolverá la primera aparición en la instancia actual donde se encontró cualquier carácter de ch . Usó la posición de índice de base cero. El tipo de retorno de este método es System.Int32 .
  • Excepciones: este método dará dos excepciones, es decir, ArgumentNullException si ch es nulo y ArgumentOutOfRangeException si startindex + count es mayor que la string que se buscará o ambos (startindex y count) son negativos .

Ejemplo: programa para demostrar el método público int IndexOfAny( char[] ch, int startIndex, int count) . Este método IndexOfAny buscará los caracteres desde el índice especificado hasta el índice especificado + (recuento – 1) de la string donde el recuento es el número de caracteres a examinar y luego devolverá un valor entero como posición, que es la primera aparición de ese carácter. 

C#

// C# program to illustrate the
// public int IndexOfAny( char[] ch,
// int startIndex, int count)
using System;
class GFG {
 
    // Main Method
    public static void Main()
    {
 
        String str = "GeeksForGeeks";
        Console.WriteLine("Given String : {0}\n", str);
 
        // to find single character
        char[] ch = { 's' };
        int startIndex = 6;
        int count = 4;
 
        // to start search from index 6
        // to 10(6+4)so character
        // 's' is not found so return -1
        int r = str.IndexOfAny(ch, startIndex, count) == -1
                ? -1 : str.IndexOfAny(ch, startIndex, count) + 1;
        Console.WriteLine(r);
 
        // to find any character
        char[] ch1 = {'a', 'b', 'c', 'e', 'f'};
        int startIndex1 = 3;
        int count1 = 8;
 
        // to start search from index 3
        // to 11(3 + 8)so character
        // 's' will be match first at 10 position
        int r1 = str.IndexOfAny(ch1, startIndex1, count1) == -1
                     ? -1 : str.IndexOfAny(ch1, startIndex1, count1) + 1;
        Console.WriteLine(r1);
 
        char[] ch2 = {'a', 'b', 'c', 'F'};
        int startIndex2 = 5;
        int count2 = 5;
 
        // to start search from index 5
        // to 10(5 + 5)so character
        // 'F' will be match first at 6 position
        int r2 = str.IndexOfAny(ch2, startIndex2, count2) == -1
                     ? -1 : str.IndexOfAny(ch2, startIndex2, count2) + 1;
        Console.WriteLine(r2);
    }
}

Producción: 

Given String : GeeksForGeeks

-1
10
6

Puntos importantes para recordar:  

  • La búsqueda de elementos de la array de caracteres distingue entre mayúsculas y minúsculas.
  • La búsqueda va desde startIndex hasta el final de la string.
  • Si el elemento de la array de caracteres es una array vacía, el método encuentra una coincidencia al principio de la string.

Referencias: 

Publicación traducida automáticamente

Artículo escrito por Mithun Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *