倒入你的帖子。我将从一对夫妇开始,让我们看看我们可以收集多少。
提供内联事件处理程序,如
button.Click += (sender,args) =>
{
};
查找集合中的项目
var dogs= animals.Where(animal => animal.Type == "dog");
用于迭代集合,例如
animals.ForEach(animal=>Console.WriteLine(animal.Name));
让他们来!!
答案 0 :(得分:3)
返回自定义对象:
var dude = mySource.Select(x => new {Name = x.name, Surname = x.surname});
答案 1 :(得分:2)
一行函数
Func<int, int> multiply = x => x * 2;
int y = multiply(4);
答案 2 :(得分:2)
这是一个稍微不同的一个 - 您可以使用它们(like this)来模拟C#中缺少的“infoof”/“nameof”运算符 - 也就是说,不要将属性名称硬编码为字符串,而是可以使用lambda。这意味着它在编译时验证(不能使用哪些字符串)。
显然这是一个性能成本,因此“只是为了好玩”,但有趣......
答案 3 :(得分:1)
使用方法调用从多线程组件事件更新UI
void Task_Progress(object sender,TaskProgressArgs e)
{
BeginInvoke(new MethodInvoker(() => UpdateProgress(e)));
}
答案 4 :(得分:0)
创建累加器。
static Func<int, int> Foo(int n)
{
return a => n += a;
}
请注意这里的闭包使用情况。它正在创建一个累加器,它“记住”调用之间的n值 - 没有类或实例变量。
答案 5 :(得分:0)
对于Linq的集合操作:
public Double GetLengthOfElements(string[] wordArr) {
double count = wordArr.Sum(word => word.Length);
return count;
}
确实使用foreach节拍
答案 6 :(得分:-1)
表达未命名的功能。