m.e*_*son 8 .net c# matchevaluator c#-4.0
刚刚遇到以下代码行并且很难找到它的文档,是lambda expression吗?这是做什么的?
temp = Regex.Replace(url, REGEX_COOKIE_REPLACE,match => cookie.Values[match.Groups["CookieVar"].Value]);
Run Code Online (Sandbox Code Playgroud)
特别感兴趣的=>.
如果你看一下Replace的文档,第三个参数是MatchEvaluator:
http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator.aspx
这是一个委托,它接受一个Match参数并返回字符串以替换它.您的代码MatchEvaluator使用lambda表达式定义:
match => cookie.Values[match.Groups["CookieVar"].Value]
Run Code Online (Sandbox Code Playgroud)
这里,对于Regex找到的每个匹配,在cookie.Values字典中查找一个值,结果用作替换.
match => cookie.Values[match.Groups["CookieVar"].Value]
Run Code Online (Sandbox Code Playgroud)
是一个快捷方式
delegate (Match match)
{
return cookie.Values[match.Groups["CookieVar"].Value];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2308 次 |
| 最近记录: |