繁体   English   中英

这个“Lambda Expression”有什么作用?

[英]What does this “Lambda Expression” do?

刚刚遇到以下代码行并且很难找到它的文档,它是一个lambda expression吗? 这是做什么的?

temp = Regex.Replace(url, REGEX_COOKIE_REPLACE,match => cookie.Values[match.Groups["CookieVar"].Value]);

特别感兴趣的是=>

如果查看Replace的文档,第3个参数是MatchEvaluator

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator.aspx

这是一个委托,它将Match作为参数并返回字符串以替换它。 您的代码使用lambda表达式定义MatchEvaluator

match => cookie.Values[match.Groups["CookieVar"].Value]

在这里,对于Regex找到的每个匹配,在cookie.Values字典中查找一个值,结果用作替换。

match => cookie.Values[match.Groups["CookieVar"].Value]

是一个快捷方式

delegate (Match match)
{
    return cookie.Values[match.Groups["CookieVar"].Value];
}

RegEx.Replaceurl中的REGEX_COOKIE_REPLACE每个匹配运行lambda,并用lambdas结果“替换”匹配。

lambda(或速记代表)

match => cookie.Values[match.Groups["CookieVar"].Value]

使用Match,的“CookieVar” Group,Value来查找cookie.Values集合中的cookie.Values 查找值替换匹配。

为了告诉您有关“CookieVar”组的更多信息,我们需要查看REGEX_COOKIE_REPLACE.的评估REGEX_COOKIE_REPLACE.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM