String.IndexOfAny Metodo

Definizione

Segnala l'indice della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata. Il metodo restituisce -1 se i caratteri nella matrice non vengono trovati in questa istanza.

Overload

Nome Descrizione
IndexOfAny(Char[])

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata.

IndexOfAny(Char[], Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata. La ricerca inizia in corrispondenza di una posizione di carattere specificata.

IndexOfAny(Char[], Int32, Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata. La ricerca inizia in corrispondenza di una posizione di carattere specificata ed esamina un numero specificato di posizioni dei caratteri.

IndexOfAny(Char[])

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata.

public:
 int IndexOfAny(cli::array <char> ^ anyOf);
public int IndexOfAny(char[] anyOf);
member this.IndexOfAny : char[] -> int
Public Function IndexOfAny (anyOf As Char()) As Integer

Parametri

anyOf
Char[]

Matrice di caratteri Unicode contenente uno o più caratteri da cercare.

Valori restituiti

Posizione dell'indice in base zero della prima occorrenza in questa istanza in cui è stato trovato qualsiasi carattere in anyOf ; -1 se non è stato trovato alcun carattere in anyOf .

Eccezioni

anyOf è null.

Esempio

Nell'esempio seguente viene trovata la prima vocale in una stringa.

char[] chars = { 'a', 'e', 'i', 'o', 'u', 'y',
                 'A', 'E', 'I', 'O', 'U', 'Y' };
String s = "The long and winding road...";
Console.WriteLine($"""
   The first vowel in
   '{s}'
   is found at index {s.IndexOfAny(chars)}
   """);

// The example displays the following output:
//       The first vowel in
//       'The long and winding road...'
//       is found at index 2
let chars = [| 'a'; 'e'; 'i'; 'o'; 'u'; 'y'
               'A'; 'E'; 'I'; 'O'; 'U'; 'Y' |]
let s = "The long and winding road..."
printfn $"The first vowel in \n   {s}\nis found at index {s.IndexOfAny chars}"

// The example displays the following output:
//       The first vowel in
//          The long and winding road...
//       is found at index 2
Module Example1
   Public Sub Run()
      Dim chars() As Char = { "a"c, "e"c, "i"c, "o"c, "u"c, "y"c,
                              "A"c, "E"c, "I"c, "O"c, "U"c, "Y"c }
      Dim s As String = "The long and winding road..."
      Console.WriteLine("The first vowel in {2}   {0}{2}is found at index {1}",
                        s, s.IndexOfAny(chars), vbCrLf)
   End Sub
End Module

' The example displays the following output:
'       The first vowel in
'          The long and winding road...
'       is found at index 2

Commenti

La numerazione dell'indice inizia da zero.

La ricerca anyOf fa distinzione tra maiuscole e minuscole. Se anyOf è una matrice vuota, il metodo restituisce -1.

Questo metodo esegue una ricerca ordinale (senza distinzione tra impostazioni cultura), in cui un carattere viene considerato equivalente a un altro carattere solo se i valori scalari Unicode sono uguali. Per eseguire una ricerca sensibile alle impostazioni cultura, usare il CompareInfo.IndexOf metodo , in cui un valore scalare Unicode che rappresenta un carattere precomposto, ad esempio la legatura "Æ" (U+00C6), può essere considerata equivalente a qualsiasi occorrenza dei componenti del carattere nella sequenza corretta, ad esempio "AE" (U+0041, U+0045), a seconda delle impostazioni cultura.

Vedi anche

Si applica a

IndexOfAny(Char[], Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata. La ricerca inizia in corrispondenza di una posizione di carattere specificata.

public:
 int IndexOfAny(cli::array <char> ^ anyOf, int startIndex);
public int IndexOfAny(char[] anyOf, int startIndex);
member this.IndexOfAny : char[] * int -> int
Public Function IndexOfAny (anyOf As Char(), startIndex As Integer) As Integer

Parametri

anyOf
Char[]

Matrice di caratteri Unicode contenente uno o più caratteri da cercare.

startIndex
Int32

Posizione iniziale della ricerca.

Valori restituiti

Posizione dell'indice in base zero della prima occorrenza in questa istanza in cui è stato trovato qualsiasi carattere in anyOf ; -1 se non è stato trovato alcun carattere in anyOf .

Eccezioni

anyOf è null.

startIndex è negativo.

oppure

startIndex è maggiore del numero di caratteri in questa istanza.

Esempio

Nell'esempio seguente viene trovato l'indice dell'occorrenza di qualsiasi carattere della stringa "is" all'interno di una sottostringa di un'altra stringa.

string br1 = "0----+----1----+----2----+----3" +
    "----+----4----+----5----+----6----+-";
string br2 = "012345678901234567890123456789" +
    "0123456789012345678901234567890123456";
string str = "Now is the time for all good men " +
    "to come to the aid of their party.";
int start;
int at;
string target = "is";
char[] anyOf = target.ToCharArray();

start = str.Length / 2;
Console.WriteLine();
Console.WriteLine("The first character occurrence " +
    $"from position {start} to {str.Length - 1}:");
Console.WriteLine($"""
    {Environment.NewLine}{br1}{Environment.NewLine}
    {br2}{Environment.NewLine}{str}{Environment.NewLine}
    """);
Console.Write($"A character in '{target}' occurs at position: ");

at = str.IndexOfAny(anyOf, start);
if (at > -1)
    Console.Write(at);
else
    Console.Write("(not found)");
Console.WriteLine();

/*

The first character occurrence 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.

A character in 'is' occurs at position: 49

*/
// Sample for String.IndexOfAny(Char[], Int32)
open System

let br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
let br2 = "0123456789012345678901234567890123456789012345678901234567890123456"
let str = "Now is the time for all good men to come to the aid of their party."
let target = "is"
let anyOf = target.ToCharArray()

let start = str.Length/2
printfn $"\nThe first character occurrence from position {start} to {str.Length - 1}."
printfn $"{br1}{Environment.NewLine}{br2}{Environment.NewLine}{str}{Environment.NewLine}"
printf $"A character in '{target}' occurs at position: "

let at = str.IndexOfAny(anyOf, start)
if at > -1 then
    printfn $"{at}"
else
    printfn "(not found)"
(*

The first character occurrence 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.

A character in 'is' occurs at position: 49

*)
' Sample for String.IndexOfAny(Char[], Int32)
Class Example2
   Public Shared Sub Run()
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      Dim target As String = "is"
      Dim anyOf As Char() = target.ToCharArray()

      start = str.Length / 2
      Console.WriteLine()
      Console.WriteLine("Search for a character occurrence from position {0} to {1}.", _
                           start, str.Length - 1)
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("A character in '{0}' occurs at position: ", target)
      at = str.IndexOfAny(anyOf, start)
      If at > - 1 Then
         Console.Write(at)
      Else
         Console.Write("(not found)")
      End If
      Console.WriteLine()
   End Sub
End Class
'
'
'Search for a character occurrence 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.
'
'A character in 'is' occurs at position: 49
'

Commenti

La numerazione dell'indice inizia da zero. Il startIndex parametro può variare da 0 a uno minore della lunghezza dell'istanza di stringa.

La ricerca varia da startIndex alla fine della stringa.

La ricerca anyOf fa distinzione tra maiuscole e minuscole.

Questo metodo esegue una ricerca ordinale (senza distinzione tra impostazioni cultura), in cui un carattere viene considerato equivalente a un altro carattere solo se il valore scalare Unicode è lo stesso. Per eseguire una ricerca sensibile alle impostazioni cultura, usare il CompareInfo.IndexOf metodo , in cui un valore scalare Unicode che rappresenta un carattere precomposto, ad esempio la legatura "Æ" (U+00C6), può essere considerata equivalente a qualsiasi occorrenza dei componenti del carattere nella sequenza corretta, ad esempio "AE" (U+0041, U+0045), a seconda delle impostazioni cultura.

Vedi anche

Si applica a

IndexOfAny(Char[], Int32, Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice di caratteri Unicode specificata. La ricerca inizia in corrispondenza di una posizione di carattere specificata ed esamina un numero specificato di posizioni dei caratteri.

public:
 int IndexOfAny(cli::array <char> ^ anyOf, int startIndex, int count);
public int IndexOfAny(char[] anyOf, int startIndex, int count);
member this.IndexOfAny : char[] * int * int -> int
Public Function IndexOfAny (anyOf As Char(), startIndex As Integer, count As Integer) As Integer

Parametri

anyOf
Char[]

Matrice di caratteri Unicode contenente uno o più caratteri da cercare.

startIndex
Int32

Posizione iniziale della ricerca.

count
Int32

Numero di posizioni di caratteri da esaminare.

Valori restituiti

Posizione dell'indice in base zero della prima occorrenza in questa istanza in cui è stato trovato qualsiasi carattere in anyOf ; -1 se non è stato trovato alcun carattere in anyOf .

Eccezioni

anyOf è null.

count o startIndex è negativo.

oppure

count + startIndex è maggiore del numero di caratteri in questa istanza.

Esempio

Nell'esempio seguente viene trovato l'indice dell'occorrenza di qualsiasi carattere della stringa "aid" all'interno di una sottostringa di un'altra stringa.

string br1 = "0----+----1----+----2----+----3----" +
    "+----4----+----5----+----6----+-";
string br2 = "012345678901234567890123456789" +
    "0123456789012345678901234567890123456";
string str = "Now is the time for all good men " +
    "to come to the aid of their party.";
string target = "aid";
char[] anyOf = target.ToCharArray();

int start = (str.Length - 1) / 3;
int count = (str.Length - 1) / 4;
Console.WriteLine();
Console.WriteLine("The first character occurrence from " +
    $"position {start} for {count} characters:");
Console.WriteLine($"""
    {Environment.NewLine}{br1}{Environment.NewLine}{br2}
    {Environment.NewLine}{str}{Environment.NewLine}
    """);
Console.Write($"A character in '{target}' occurs at position: ");

int at = str.IndexOfAny(anyOf, start, count);
if (at > -1)
    Console.Write(at);
else
    Console.Write("(not found)");
Console.WriteLine();

/*

The first character occurrence from position 22 for 16 characters.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'aid' occurs at position: 27

*/
// Sample for String.IndexOfAny(Char[], Int32, Int32)
open System

let br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
let br2 = "0123456789012345678901234567890123456789012345678901234567890123456"
let str = "Now is the time for all good men to come to the aid of their party."
let target = "aid"
let anyOf = target.ToCharArray()

let start = (str.Length - 1) / 3
let count = (str.Length - 1) / 4
printfn $"\nThe first character occurrence from position {start} for {count} characters."
printfn $"{br1}{Environment.NewLine}{br2}{Environment.NewLine}{str}{Environment.NewLine}"
printf $"A character in '{target}' occurs at position: "

let at = str.IndexOfAny(anyOf, start, count)
if at > -1 then
    printfn $"{at}"
else
    printfn "(not found)"
(*

The first character occurrence from position 22 for 16 characters.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'aid' occurs at position: 27

*)
' Sample for String.IndexOfAny(Char[], Int32, Int32)
Class Example3
   Public Shared Sub Run()
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      Dim count As Integer
      Dim target As String = "aid"
      Dim anyOf As Char() = target.ToCharArray()

      start =(str.Length - 1) / 3
      count =(str.Length - 1) / 4
      Console.WriteLine()
      Console.WriteLine("The first character occurrence from position {0} for {1} characters.", start, count)
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("A character in '{0}' occurs at position: ", target)

      at = str.IndexOfAny(anyOf, start, count)
      If at > - 1 Then
         Console.Write(at)
      Else
         Console.Write("(not found)")
      End If
      Console.WriteLine()
   End Sub
End Class
'
'The first character occurrence from position 22 for 16 characters.
'0----+----1----+----2----+----3----+----4----+----5----+----6----+-
'0123456789012345678901234567890123456789012345678901234567890123456
'Now is the time for all good men to come to the aid of their party.
'
'A character in 'aid' occurs at position: 27
'

Commenti

La ricerca inizia da startIndex e continua a startIndex + count -1. Il carattere in startIndex + count non è incluso nella ricerca.

La numerazione dell'indice inizia da zero. Il startIndex parametro può variare da 0 a uno minore della lunghezza dell'istanza di stringa.

La ricerca anyOf fa distinzione tra maiuscole e minuscole.

Questo metodo esegue una ricerca ordinale (senza distinzione tra impostazioni cultura), in cui un carattere viene considerato equivalente a un altro carattere solo se il valore scalare Unicode è lo stesso. Per eseguire una ricerca sensibile alle impostazioni cultura, usare il CompareInfo.IndexOf metodo , in cui un valore scalare Unicode che rappresenta un carattere precomposto, ad esempio la legatura "Æ" (U+00C6), può essere considerata equivalente a qualsiasi occorrenza dei componenti del carattere nella sequenza corretta, ad esempio "AE" (U+0041, U+0045), a seconda delle impostazioni cultura.

Vedi anche

Si applica a