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 (Char)

 

Data di pubblicazione: ottobre 2016

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di un carattere Unicode specificato all'interno di questa istanza.

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

public int LastIndexOf(
	char value
)

Parametri

value
Type: System.Char

Carattere Unicode da cercare.

Valore restituito

Type: System.Int32

Posizione dell'indice in base zero di value se viene trovato il carattere; in caso contrario, -1.

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.

Questo metodo inizia la ricerca dalla posizione dell'ultimo carattere di questa istanza e continua all'indietro verso l'inizio fino a quando non value viene trovato o viene esaminata la prima posizione del carattere. La ricerca non fa distinzione maiuscole/minuscole.

Questo metodo esegue una ricerca ordinale (indipendente dalle impostazioni cultura), in cui un carattere viene considerato equivalente a un altro solo se i valori scalari Unicode sono uguali. Per eseguire una ricerca dipendente dalle impostazioni cultura, utilizzare il CompareInfo.LastIndexOf (metodo), in cui un valore scalare Unicode che rappresenta un carattere precomposto, ad esempio "æ" (U + 00 C 6), potrebbe essere considerato equivalente a qualsiasi occorrenza dei componenti del carattere nella sequenza corretta, ad esempio "AE" (U + 0041, U + 0045), in base alle impostazioni cultura.

L'esempio seguente definisce un ExtractFilename metodo che utilizza il LastIndexOf(Char) metodo per trovare l'ultimo carattere separatore di directory in una stringa e per estrarre il nome del file della stringa. Se il file esiste, il metodo restituisce il nome del file senza il relativo percorso.

using System;
using System.IO;

public class TestLastIndexOf
{
   public static void Main()
   {
      string filename;

      filename = ExtractFilename(@"C:\temp\");
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "<none>" : filename);

      filename = ExtractFilename(@"C:\temp\delegate.txt"); 
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "<none>" : filename);

      filename = ExtractFilename("delegate.txt");      
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "<none>" : filename);

      filename = ExtractFilename(@"C:\temp\notafile.txt");
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "<none>" : filename);
   }

   public static string ExtractFilename(string filepath)
   {
      // If path ends with a "\", it's a path only so return String.Empty.
      if (filepath.Trim().EndsWith(@"\"))
         return String.Empty;

      // Determine where last backslash is.
      int position = filepath.LastIndexOf('\\');
      // If there is no backslash, assume that this is a filename.
      if (position == -1)
      {
         // Determine whether file exists in the current directory.
         if (File.Exists(Environment.CurrentDirectory + Path.DirectorySeparatorChar + filepath)) 
            return filepath;
         else
            return String.Empty;
      }
      else
      {
         // Determine whether file exists using filepath.
         if (File.Exists(filepath))
            // Return filename without file path.
            return filepath.Substring(position + 1);
         else
            return String.Empty;
      }
   }
}

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: