你用什么方式使用C#Lambda表达式?
把你的帖子倒进去。我先从几个开始,让我们看看能收集到多少 提供内联事件处理程序,如你用什么方式使用C#Lambda表达式?,c#,.net,c#-3.0,lambda,C#,.net,C# 3.0,Lambda,把你的帖子倒进去。我先从几个开始,让我们看看能收集到多少 提供内联事件处理程序,如 button.Click += (sender,args) => { }; 在集合中查找项目的步骤 var dogs= animals.Where(animal => animal.Type == "dog"); 用于迭代集合,如 animals.ForEach(animal=>Console.WriteLine(animal.Name)); 让他们来吧 返回自定义对象: var du
button.Click += (sender,args) =>
{
};
在集合中查找项目的步骤
var dogs= animals.Where(animal => animal.Type == "dog");
用于迭代集合,如
animals.ForEach(animal=>Console.WriteLine(animal.Name));
让他们来吧 返回自定义对象:
var dude = mySource.Select(x => new {Name = x.name, Surname = x.surname});
创建累加器
static Func<int, int> Foo(int n)
{
return a => n += a;
}
静态函数Foo(int n)
{
返回a=>n+=a;
}
注意这里的闭包用法。它正在创建一个累加器,在调用之间“记住”n的值,而不使用类或实例变量。来表示一个未命名的函数。一行函数
Func<int, int> multiply = x => x * 2;
int y = multiply(4);
Func multiply=x=>x*2;
int y=乘法(4);
这里有一个稍有不同的方法-您可以使用它们来模拟C#中缺少的“infoof”/“nameof”操作符-即,这样您就可以使用lambda而不是将属性名称硬编码为字符串。这意味着它是在编译时验证的(这是字符串无法验证的)
这显然会带来性能成本,因此“只是为了好玩”,但对于使用Linq的聚合操作来说,有趣的是…:
public Double GetLengthOfElements(string[] wordArr) {
double count = wordArr.Sum(word => word.Length);
return count;
}
肯定比使用foreach和方法调用程序从多线程组件网事件更新UI要好
void Task_Progress(object sender,TaskProgressArgs e)
{
BeginInvoke(new MethodInvoker(() => UpdateProgress(e)));
}
你知道吗,你可以直接做新的{x.name,x.names}?属性将是小写的,如本例所示。难道没有足够的无意义的“问题”吗?问问人们是如何使用“如果”语句的?还是上课?也许是int?LAMBDAS只是语言中的一个新的功能,与语言的其他特征相称。我们总是需要这些问题吗?Jalf,我自己通过代码编写,发现我正在以各种有趣的方式使用Lambda-与Ifs和whiles相比,Lambda是一个更强大的功能。因此,我认为这篇文章将帮助我自己和其他人了解更多用法。@DaveZych-好吧,也许我会这么做,四年后。你可以删除答案。。。我也是靠工具来的…@DaveZych。不幸的是,这确实回答了这个问题。这就是为什么我将问题标记为删除。。。