In C# ist die Methode IndexOfAny() eine String - Methode. Es wird verwendet, um den angegebenen Zeichenindex zu suchen, der in der Zeichenfolge vorhanden ist, die das erste Vorkommen vom Startindex ist. Der Index wird als ganzzahliger Wert zurückgegeben. Diese Methode kann überladen werden, indem die Anzahl der übergebenen Argumente geändert wird.

  • IndexOfAny-Methode (Char[])
  • IndexOfAny-Methode (Char[], Int32)
  • IndexOfAny-Methode (Char[], Int32, Int32)

IndexOfAny-Methode (Char[])

Diese Methode nimmt einen einzelnen Parameter, der das Zeichenarray ist, das ein oder mehrere zu durchsuchende Zeichen enthält. Es sucht ab dem Startindex, dh standardmäßig ab 0, und gibt -1 zurück, wenn kein Zeichen in ch gefunden wurde.

Syntax:  

public int IndexOfAny(char[] ch)
  • Parameter: Diese Methode nimmt einen einzelnen Parameter vom Typ System.Char[] , der das Zeichenarray ist, das ein oder mehrere zu durchsuchende Zeichen enthält.
  • Rückgabewert: Diese Methode gibt immer das erste Vorkommen in der aktuellen Instanz zurück, wo irgendein Zeichen von ch gefunden wurde. Es verwendete die nullbasierte Indexposition. Der Rückgabetyp dieser Methode ist System.Int32 .
  • Ausnahme: Diese Methode kann eine Ausnahme ArgumentNullException geben, wenn ch null ist.

Beispiel: Programm zur Demonstration der Methode public int IndexOfAny(char[] ch) . Die IndexOfAny-Methode sucht Zeichen vom Anfang bis zum Ende der Zeichenfolge und gibt einen ganzzahligen Wert als Position zurück, die das erste Vorkommen dieses Zeichens ist.  

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");
    }
}

Ausgabe: 

Given String : GeeksForGeeks

5
2
Not Found

IndexOfAny-Methode (Char[], Int32)

Diese Methode verwendet den nullbasierten Index des ersten Vorkommens eines beliebigen Zeichens in einem angegebenen Array von Zeichen in der aktuellen Instanz. Die Suche beginnt ab einer bestimmten Zeichenposition.

Syntax:  

public int IndexOfAny(char[] ch, int startIndex)
  • Parameter: Diese Methode benötigt zwei Parameter, dh char[] ch vom Typ System.Char[] , die das zu durchsuchende Array von Zeichen angeben, und startIndex vom Typ System.Int32 , die den Startindex angeben, ab dem die zu durchsuchende Zeichenfolge angezeigt wird.
  • Rückgabewert: Diese Methode gibt immer das erste Vorkommen in der aktuellen Instanz zurück, wo irgendein Zeichen von ch gefunden wurde. Es verwendete die nullbasierte Indexposition. Der Rückgabetyp dieser Methode ist System.Int32 .
  • Ausnahmen: Diese Methode gibt zwei Ausnahmen aus, dh ArgumentNullException , wenn ch null ist, und ArgumentOutOfRangeException , wenn der Startindex größer als die zu durchsuchende Zeichenfolge oder entweder negativ ist .

Beispiel: Programm zur Demonstration der Methode public int IndexOfAny(char[] ch, int startIndex) . Die IndexOfAny-Methode durchsucht Zeichen vom Anfang bis zum angegebenen startIndex bis zum Ende der Zeichenfolge und gibt einen ganzzahligen Wert als Position zurück, die das erste Vorkommen dieses Zeichens ist. 

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");
    }
}

Ausgabe: 

Given String : GeeksForGeeks

13
10
Not Found

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

Diese Methode verwendet den nullbasierten Index des ersten Vorkommens eines beliebigen Zeichens in einem angegebenen Array von Zeichen in der aktuellen Instanz. Die Suche beginnt an der angegebenen Zeichenposition und untersucht eine bestimmte Anzahl von Zeichenpositionen.

Syntax:  

public int IndexOfAny(char[] ch, int startIndex, int count) 
  • Parameter: Diese Methode benötigt drei Parameter, dh char[] ch vom Typ System.Char[] , die das zu durchsuchende Array von Zeichen angeben, startIndex vom Typ System.Int32 , die den Startindex angeben, ab dem die zu durchsuchende Zeichenfolge und die Anzahl von Typ System.Int32 gibt die Anzahl der zu untersuchenden Zeichenpositionen an.
  • Rückgabewert: Diese Methode gibt immer das erste Vorkommen in der aktuellen Instanz zurück, wo irgendein Zeichen von ch gefunden wurde. Es verwendete die nullbasierte Indexposition. Der Rückgabetyp dieser Methode ist System.Int32 .
  • Ausnahmen: Diese Methode gibt zwei Ausnahmen aus, dh ArgumentNullException , wenn ch null ist, und ArgumentOutOfRangeException , wenn startindex + count größer als die zu durchsuchende Zeichenfolge ist oder entweder beide (startindex und count) negativ sind .

Beispiel: Programm zur Demonstration der Methode public int IndexOfAny( char[] ch, int startIndex, int count) . Diese IndexOfAny-Methode durchsucht die Zeichen vom angegebenen Index bis zum angegebenen Index + (count – 1) der Zeichenfolge, wobei count die Anzahl der zu untersuchenden Zeichen ist, und gibt dann einen ganzzahligen Wert als Position zurück, die das erste Vorkommen dieses Zeichens ist. 

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);
    }
}

Ausgabe: 

Given String : GeeksForGeeks

-1
10
6

Wichtige Punkte, die Sie sich merken sollten:  

  • Bei der Suche nach Zeichen-Array-Elementen wird zwischen Groß- und Kleinschreibung unterschieden.
  • Die Suche reicht von startIndex bis zum Ende der Zeichenfolge.
  • Wenn das Zeichen-Array-Element ein leeres Array ist, findet die Methode eine Übereinstimmung am Anfang der Zeichenfolge.

Verweise: