6

倒入你的帖子。我将从一对夫妇开始,让我们看看我们可以收集多少。

提供内联事件处理程序,如

button.Click += (sender,args) =>
{
};

在集合中查找项目

 var dogs= animals.Where(animal => animal.Type == "dog");

用于迭代集合,例如

 animals.ForEach(animal=>Console.WriteLine(animal.Name));

让他们来!!

4

7 回答 7

3

返回一个自定义对象:

var dude = mySource.Select(x => new {Name = x.name, Surname = x.surname});
于 2008-12-13T13:50:05.960 回答
2

一根线功能

Func<int, int> multiply = x => x * 2;
int y = multiply(4);
于 2008-12-13T20:20:45.280 回答
2

这是一个稍微不同的 - 您可以使用它们(像这样)来模拟 C# 中缺少的“infoof”/“nameof”运算符 - 即,您可以使用 lambda,而不是将属性名称硬编码为字符串. 这意味着它在编译时被验证(哪些字符串不能)。

这显然有性能成本,因此“只是为了好玩”,但很有趣......

于 2008-12-13T23:12:26.073 回答
1

使用方法调用程序从多线程组件事件更新 UI

void Task_Progress(object sender,TaskProgressArgs  e)
{
    BeginInvoke(new MethodInvoker(() => UpdateProgress(e)));
}
于 2009-06-20T10:23:30.277 回答
0

创建累加器。

    static Func<int, int> Foo(int n)
    {
        return a => n += a;
    }

注意这里的闭包用法。它正在创建一个累加器,在调用之间“记住” n 的值 - 没有类或实例变量。

于 2008-12-13T14:27:14.247 回答
0

对于 Linq 的聚合操作:

public Double GetLengthOfElements(string[] wordArr) {

   double count = wordArr.Sum(word => word.Length);
   return count;
}

使用 foreach 确保节拍

于 2008-12-14T12:46:22.623 回答
-1

表达一个未命名的函数。

于 2008-12-13T17:16:09.067 回答