Kommen Sie einfach auf die folgende Codezeile zu und haben es schwer, eine Dokumentation dafür zu finden, ist es ein lambda expression
? Was macht das?
Besonders interessiert an der =>
.
Wenn Sie sich die Dokumentation zu Replace ansehen, ist das dritte Argument ein MatchEvaluator
:
Dies ist ein Delegat, das ein Match
als Argument verwendet und die Zeichenfolge zurückgibt, mit der es ersetzt werden soll. Ihr Code definiert ein MatchEvaluator
mit einem Lambda-Ausdruck:
Hier wird für jede Übereinstimmung, die die Regex findet, ein Wert im cookie.Values
Wörterbuch gesucht und das Ergebnis wird als Ersatz verwendet.
Der RegEx.Replace
berechnet das Lambda für jede Übereinstimmung von REGEX_COOKIE_REPLACE
in url
und "ersetzt" die Übereinstimmung mit dem Lambda-Ergebnis.
Der Lambda (oder Shorthand Delegat)
%Vor% verwendet Value
von "CookieVar" Group,
von Match,
, um nach einer Ersetzung in der cookie.Values
-Auflistung zu suchen. Der Suchwert ersetzt die Übereinstimmung.
Um mehr über die "CookieVar" Gruppe zu erfahren, müssten wir eine Auswertung von REGEX_COOKIE_REPLACE.
Tags und Links .net c# c#-4.0 matchevaluator