mvc中的lamdba表达式
现在在学mvc看到Html.TextBoxFor(model => model.Title)这个lamdba表达式不是很理解!程序是怎么知道model是什么的
------解决方案--------------------model是强类型视图定义的(在页面最上面有定义),并且使用Controller传入的。
model => model.Title
这是一个委托,由TextBoxFor函数调用,它给你一个Model参数,你返回Model中用于产生TextBox的字段
------解决方案--------------------TakeWhile内部实现如下:(部分实现为了让你理解,使用了简化和变形)
C# code
List<int> TakeWhile(List<int> data, Func<int, int, bool> f)
{
List<int> result = new List<int>();
int index = 0;
bool isTake = false;
foreach (int i in data)
{
if (!isTake && f(i, index)) isTake = true;
if (isTake) result.Add(i);
}
return result;
}