C# 此代码的解释
我刚刚遇到了以下代码,我无法理解:C# 此代码的解释,c#,c#-4.0,lambda,C#,C# 4.0,Lambda,我刚刚遇到了以下代码,我无法理解: var dataItem = (SportNode)item.DataItem; item.FindControl<Literal>("Node", image => image.Text = string.Format("<li data-nodeId='{1}' class='{0}'><a href='/sport?navItems={3}'>{2}</a></li>", "top
var dataItem = (SportNode)item.DataItem;
item.FindControl<Literal>("Node", image =>
image.Text = string.Format("<li data-nodeId='{1}' class='{0}'><a href='/sport?navItems={3}'>{2}</a></li>", "top",
dataItem.NodeId, dataItem.Text, dataItem.NodeId));
var-dataItem=(SportNode)item.dataItem;
item.FindControl(“节点”,图像=>
image.Text=string.Format(“”,“top”,
dataItem.NodeId,dataItem.Text,dataItem.NodeId));
特别是,图像从何而来?它没有在任何地方声明,但似乎有一个类型。我当然不能在任何父类中看到它。“image”是lambda表达式的输入参数
阅读更多关于lambdas的信息
要更具可读性和更深入地了解lambdas “image”是lambda表达式的输入参数
阅读更多关于lambdas的信息
要更具可读性和更深入地了解lambdas 这是一个匿名方法
image
是此方法的参数名称。image
的类型是从FindControl
的第二个参数推断出来的。这是一个匿名方法image
是此方法的参数名称。image
的类型是从FindControl
image的第二个参数推断出来的,这里是匿名函数的参数-它从传递给它的任何对象的签名中派生其类型;例如:
private void PrintResult(Func<Int32, Int32> f)
{
Debug.WriteLine(f.Invoke(1));
}
//In some other method
PrintResult(n => n + 2); //prints 3
private void打印结果(Func f)
{
Debug.WriteLine(f.Invoke(1));
}
//用其他方法
打印结果(n=>n+2)//印刷品3
如果您愿意,您可以查询更多信息-我会搜索“Lambda expression”或“anonymous function”。Image,这里是匿名函数的参数-它从您传入的任何函数的签名派生其类型;例如:
private void PrintResult(Func<Int32, Int32> f)
{
Debug.WriteLine(f.Invoke(1));
}
//In some other method
PrintResult(n => n + 2); //prints 3
private void打印结果(Func f)
{
Debug.WriteLine(f.Invoke(1));
}
//用其他方法
打印结果(n=>n+2)//印刷品3
如果您愿意,您可以查询更多信息-我会搜索“Lambda表达式”或“匿名函数”