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

Delegato MatchEvaluator

Rappresenta il metodo chiamato ogni volta che si individua una corrispondenza di un'espressione regolare durante un'operazione del metodo Replace.

Spazio dei nomi:  System.Text.RegularExpressions
Assembly:  System (in System.dll)

[SerializableAttribute]
public delegate string MatchEvaluator(
	Match match
)

Parametri

match
Tipo: System.Text.RegularExpressions.Match
Oggetto Match che rappresenta una corrispondenza di un'espressione regolare singola durante un'operazione del metodo Replace.

Valore restituito

Tipo: System.String
Stringa restituita dal metodo rappresentato dal delegato MatchEvaluator.

È possibile utilizzare un metodo del delegato MatchEvaluator per eseguire un'operazione di verifica o di modifica personalizzata per ciascuna corrispondenza individuata da un metodo di sostituzione quale Regex.Replace(String, MatchEvaluator). Per ciascuna stringa con corrispondenza, il metodo Replace chiama il metodo delegato MatchEvaluator con un oggetto Match che rappresenta la corrispondenza. Il metodo delegato consente di eseguire l'elaborazione richiesta e restituisce una stringa che viene sostituita dal metodo Replace con la stringa con corrispondenza.

Nell'esempio di codice riportato di seguito il delegato MatchEvaluator viene utilizzato per sostituire tutti i gruppi di caratteri con corrispondenza con il numero dell'occorrenza corrispondente.


using System;
using System.Text.RegularExpressions;

class MyClass
{
   static void Main(string[] args)
   {
      string sInput, sRegex;

      // The string to search.
      sInput = "aabbccddeeffcccgghhcccciijjcccckkcc";

      // A very simple regular expression.
      sRegex = "cc";

      Regex r = new Regex(sRegex);
		
      MyClass c = new MyClass();

      // Assign the replace method to the MatchEvaluator delegate.
      MatchEvaluator myEvaluator = new MatchEvaluator(c.ReplaceCC);
		
      // Write out the original string.
      Console.WriteLine(sInput);

      // Replace matched characters using the delegate method.
      sInput = r.Replace(sInput, myEvaluator);

      // Write out the modified string.
      Console.WriteLine(sInput);
   }

   public string ReplaceCC(Match m)
   // Replace each Regex cc match with the number of the occurrence.
   {
      i++;
      return i.ToString() + i.ToString();		
   }
   public static int i=0;
}
// The example displays the following output:
//       aabbccddeeffcccgghhcccciijjcccckkcc
//       aabb11ddeeff22cgghh3344iijj5566kk77


.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
Mostra:
© 2015 Microsoft