Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo String.IndexOf (String)

 

Data di pubblicazione: novembre 2016

Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public int IndexOf(
	string value
)

Parametri

value
Type: System.String

Stringa da cercare.

Valore restituito

Type: System.Int32

Posizione dell'indice in base zero di value se viene trovata la stringa; in caso contrario, -1. Se value è String.Empty, il valore restituito è 0.

Exception Condition
ArgumentNullException

value è null.

Numerazione dell'indice inizia da zero.

Questo metodo esegue una ricerca di word (maiuscole/minuscole e distinzione delle impostazioni cultura) usando le impostazioni cultura correnti. La ricerca inizia in corrispondenza della posizione del primo carattere contenuto di questa istanza e continua fino all'ultima posizione.

I set di caratteri includono caratteri ignorabili, ovvero caratteri che non sono considerati durante l'esecuzione di un confronto linguistico o dipendente dalle impostazioni cultura. In una ricerca dipendente dalle impostazioni cultura, se value contiene un carattere ignorabile, il risultato è equivalente alla ricerca con il carattere rimosso. Se value è composta solo da uno o più caratteri ignorabili, ilIndexOf(String) metodo restituisce sempre 0 (zero) per indicare che è stata trovata la corrispondenza all'inizio dell'istanza corrente. Nell'esempio seguente, il IndexOf(String) metodo viene utilizzato per individuare le sottostringhe di tre (un segno meno facoltativo (U + 00AD), un segno meno facoltativo seguito da "n" e un segno meno facoltativo seguito da "m") in due stringhe. Solo una delle stringhe contiene un segno meno facoltativo. Se viene eseguito l'esempio di .NET Framework 4 o versioni successive, in ogni caso, poiché il segno meno facoltativo è un carattere ignorabile, il risultato è lo stesso come se il segno meno non era state incluse value. Quando si cerca solo un segno, il metodo restituisce 0 (zero) per indicare che ha trovato una corrispondenza all'inizio della stringa.

using System;

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

      // Find the index of the soft hyphen.
      Console.WriteLine(s1.IndexOf("\u00AD"));
      Console.WriteLine(s2.IndexOf("\u00AD"));

      // Find the index of the soft hyphen followed by "n".
      Console.WriteLine(s1.IndexOf("\u00ADn"));
      Console.WriteLine(s2.IndexOf("\u00ADn"));

      // Find the index of the soft hyphen followed by "m".
      Console.WriteLine(s1.IndexOf("\u00ADm"));
      Console.WriteLine(s2.IndexOf("\u00ADm"));
   }
}
// The example displays the following output
// if run under the .NET Framework 4 or later:
//       0
//       0
//       1
//       1
//       4
//       3

Note per i chiamanti:

Come spiegato in Procedure consigliate per l'utilizzo di stringhe in .NET Framework, è consigliabile evitare di chiamare i metodi di confronto tra stringhe che sostituiscono i valori predefiniti e di chiamano invece i metodi che richiedono parametri per specificare in modo esplicito. Per trovare il primo indice di una sottostringa all'interno di un'istanza di stringa usando le regole di confronto delle impostazioni cultura correnti, chiamare la IndexOf(String, StringComparison) overload del metodo con un valore di StringComparison.CurrentCulture per relativo comparisonType parametro.

Nell'esempio seguente viene eseguita la ricerca di "n" in "animale". Poiché gli indici di stringa iniziano da zero, anziché uno, il IndexOf(String) metodo indica che "n" è nella posizione 1.

using System;

public class Example
{
   public static void Main()
   {
      String str = "animal";
      String toFind = "n";
      int index = str.IndexOf("n");
      Console.WriteLine("Found '{0}' in '{1}' at position {2}",
                        toFind, str, index);
   }
}
// The example displays the following output:
//        Found 'n' in 'animal' at position 1

L'esempio seguente usa il IndexOf metodo per determinare la posizione iniziale di un nome di polizia di una frase. Questa posizione viene quindi utilizzato per inserire un aggettivo che descrive l'animale nella frase.

using System;

public class Example {
    public static void Main() 
    {
        string animal1 = "fox";
        string animal2 = "dog";

        string strTarget = String.Format("The {0} jumped over the {1}.", 
                                         animal1, animal2);

        Console.WriteLine("The original string is:{0}{1}{0}", 
                          Environment.NewLine, strTarget);

        Console.Write("Enter an adjective (or group of adjectives) " +
                      "to describe the {0}: ==> ", animal1);
        string adj1 = Console.ReadLine();

        Console.Write("Enter an adjective (or group of adjectives) " + 
                      "to describe the {0}: ==> ", animal2);    
        string adj2 = Console.ReadLine();

        adj1 = adj1.Trim() + " ";
        adj2 = adj2.Trim() + " ";

        strTarget = strTarget.Insert(strTarget.IndexOf(animal1), adj1);
        strTarget = strTarget.Insert(strTarget.IndexOf(animal2), adj2);

        Console.WriteLine("{0}The final string is:{0}{1}", 
                          Environment.NewLine, strTarget);
    }
}
// Output from the example might appear as follows:
//       The original string is:
//       The fox jumped over the dog.
//       
//       Enter an adjective (or group of adjectives) to describe the fox: ==> bold
//       Enter an adjective (or group of adjectives) to describe the dog: ==> lazy
//       
//       The final string is:
//       The bold fox jumped over the lazy dog.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: