LastIndexOf Metodo (String, Int32, StringComparison)
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.LastIndexOf (String, Int32, StringComparison)

 

Restituisce l'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno dell'oggetto String corrente.La ricerca inizia in corrispondenza di una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa.Un parametro specifica il tipo di confronto da effettuare durante la ricerca della stringa specificata.

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

public int LastIndexOf(
	string value,
	int startIndex,
	StringComparison comparisonType
)

Parametri

value

Stringa da cercare.

startIndex

Posizione iniziale della ricerca.La ricerca procede da startIndex verso l'inizio dell'istanza.

comparisonType

Uno dei valori di enumerazione che specifica le regole di ricerca.

Valore restituito

Type: System.Int32

Posizione dell'indice iniziale in base zero del parametro value se tale stringa viene trovata oppure -1 se non viene trovata o se l'istanza corrente è uguale a String.Empty.Se value è String.Empty, il valore restituito sarà il più piccolo tra startIndex e l'ultima posizione dell'indice in questa istanza.

Exception Condition
ArgumentNullException

value è null.

ArgumentOutOfRangeException

Non è uguale all'istanza corrente String.Empty, e startIndex è minore di zero o maggiore della lunghezza dell'istanza corrente.

-oppure-

L'istanza corrente è uguale a String.Empty, e startIndex è minore di -1 o maggiore di zero.

ArgumentException

comparisonType non è valido System.StringComparison valore.

Numerazione dell'indice inizia da zero.Ovvero è il primo carattere nella stringa di corrispondenza dell'indice zero e l'ultimo si trova in Length - 1.

La ricerca inizia in corrispondenza la startIndex caratteri di posizione e procede a ritroso fino a quando value viene trovato o è stata esaminata la posizione del primo carattere.Ad esempio, se startIndex è Length - 1, il metodo esegue la ricerca di ogni carattere, dall'ultimo carattere della stringa all'inizio.

Il comparisonType parametro specifica per cercare il value parametro utilizzando le impostazioni cultura correnti o invarianti, utilizzando una ricerca tra maiuscole e minuscole o tra maiuscole e minuscole e utilizzando regole di confronto ordinale o word.

Note per i chiamanti:

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 (ovvero se comparisonType non è StringComparison.Ordinal o StringComparison.OrdinalIgnoreCase), se value contiene un carattere ignorable, il risultato è equivalente alla ricerca con il carattere rimosso.Se value costituito solo da uno o più caratteri ignorabili il LastIndexOf(String, Int32, StringComparison) metodo restituisce sempre startIndex, ovvero la posizione del carattere che inizia la ricerca.

Nell'esempio seguente il LastIndexOf(String, Int32, StringComparison) metodo viene utilizzato per individuare la posizione di un segno (U + 00AD) seguita da una "m", a partire da "m" finale in due stringhe.Solo una delle stringhe contiene la sottostringa richiesta.Se si esegue l'esempio .NET Framework 4 o versioni successive, in entrambi i casi, poiché il segno è un carattere ignorabile, il metodo restituisce l'indice di "m" nella stringa quando esegue un confronto dipendente dalle impostazioni cultura.Si noti che nel caso della prima stringa, che include il segno meno facoltativo seguito da una "m", il metodo non restituisce l'indice del segno meno facoltativo, ma l'indice di "m".Il metodo restituisce l'indice del segno meno facoltativo nella prima stringa solo quando esegue un confronto ordinale.

using System;

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

      position = s1.LastIndexOf('m');
      if (position >= 0) {
         Console.WriteLine(s1.LastIndexOf(searchString, position, StringComparison.CurrentCulture));
         Console.WriteLine(s1.LastIndexOf(searchString, position, StringComparison.Ordinal));
      }

      position = s2.LastIndexOf('m');
      if (position >= 0) {
         Console.WriteLine(s2.LastIndexOf(searchString, position, StringComparison.CurrentCulture));
         Console.WriteLine(s2.LastIndexOf(searchString, position, StringComparison.Ordinal));
      }
   }
}
// The example displays the following output:
//       4
//       3
//       3
//       -1

L'esempio seguente illustra tre overload della LastIndexOf metodo che trovano l'ultima occorrenza di una stringa all'interno di un'altra stringa utilizzando valori diversi del StringComparison enumerazione.

// This code example demonstrates the 
// System.String.LastIndexOf(String, ..., StringComparison) methods.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the last occurrence of a character using different " + 
                   "values of StringComparison.";
    string resultFmt = "Comparison: {0,-28} Location: {1,3}";

// Define a string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string CapitalAWithRing = "\u00c5"; 

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string cat = "A Cheshire c" + "\u0061\u030a" + "t";
    int loc = 0;
    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

// Clear the screen and display an introduction.
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because culture affects the result. For example, 
// try this code example with the "sv-SE" (Swedish-Sweden) culture.

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Console.WriteLine("The current culture is \"{0}\" - {1}.", 
                       Thread.CurrentThread.CurrentCulture.Name,
                       Thread.CurrentThread.CurrentCulture.DisplayName);

// Display the string to search for and the string to search.
    Console.WriteLine("Search for the string \"{0}\" in the string \"{1}\"", 
                       CapitalAWithRing, cat);
    Console.WriteLine();

// Note that in each of the following searches, we look for 
// LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
// LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
// the string was not found.
// Search using different values of StringComparsion. Specify the start 
// index and count. 

    Console.WriteLine("Part 1: Start index and count are specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, cat.Length, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. Specify the 
// start index. 
    Console.WriteLine("\nPart 2: Start index is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

This code example produces the following results:

Find the last occurrence of a character using different values of StringComparison.
The current culture is "en-US" - English (United States).
Search for the string "Å" in the string "A Cheshire ca°t"

Part 1: Start index and count are specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 2: Start index is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 3: Neither start index nor count is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

*/

Universal Windows Platform
Disponibile da 4.5
.NET Framework
Disponibile da 2.0
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft