Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo String.IndexOf (String)

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
Tipo: System.String
Stringa da cercare.

Valore restituito

Tipo: System.Int32
Posizione di indice in base zero di value se viene trovata la stringa. In caso contrario, -1. Se value è String.Empty, il valore restituito è 0.

EccezioneCondizione
ArgumentNullException

value è null.

La numerazione dell'indice ha inizio da zero.

Il metodo consente di eseguire una ricerca per parola, con distinzione tra maiuscole e minuscole e in base alle impostazioni cultura, utilizzando le impostazioni cultura correnti. La ricerca ha inizio dalla prima posizione del carattere 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 è costituito solo da uno o più caratteri ignorabili, il metodo IndexOf(String) restituisce sempre 0 (zero) per indicare che la corrispondenza è stata trovata all'inizio dell'istanza corrente. Nell'esempio seguente, il metodo IndexOf(String) viene utilizzato per individuare tre sottostringhe (un trattino (U+00AD), un trattino seguito da "n" e un trattino seguito da "m") in due stringhe. Solo una delle stringhe contiene un segno meno facoltativo. Se nell'esempio viene eseguito in .NET Framework 4 o versioni successive, in ogni caso, poiché il trattino software è un carattere ignorable, il risultato al trattino software non sia stato incluso in value. Quando si cerca un trattino solo, il metodo restituisce zero (0) per indicare che è stata trovata 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:
//       0
//       0
//       1
//       1
//       4
//       3


Note per i chiamanti

Come illustrato in Procedure consigliate per l'utilizzo di stringhe in .NET Framework, si consiglia di evitare di chiamare metodi di confronto tra stringhe che sostituiscono i valori predefiniti e di chiamare invece metodi che richiedono parametri per essere specificati in modo esplicito. Per trovare il primo indice di una sottostringa in una istanza di stringa utilizzando le regole di confronto delle impostazioni cultura correnti, chiamare l'overload del metodo IndexOf(String, StringComparison) passando un valore di StringComparison.CurrentCulture nel relativo parametro comparisonType.

Nell'esempio riportato di seguito viene utilizzato il metodo IndexOf per determinare la posizione iniziale del nome di un animale in una frase. Questa posizione viene quindi utilizzata per inserire nella frase un aggettivo che descrive l'animale.


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.


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft