关于委托作为方法的参数的问题
以Where为例,public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
以下例进行说明:
static void Main(string[] args)
{
int[] nums = new int[] { 10, 20, 30, 40, 50 };
int sum0 = nums.Sum();
Console.WriteLine("the sum of all:{0}", sum0);//所有数据的和
int sum1 = nums.Where(n=>n%4==0).Sum();
Console.WriteLine("the sum of all:{0}", sum1);//所有是4的倍数的数据的和
int sum2 = nums.Where((n, i) => i % 2 == 0).Sum();//10 + 30 + 50
Console.WriteLine("the sum of all:{0}", sum2);//所有下标是4的倍数的数据的和
}
委托调用的方法只有一行,使用了Lambda 方式,如果委托调用方法中有很多行代码,该如何处理?
以下例进行说明:
static void Main(string[] args)
{
int[] nums = new int[] { 10, 20, 30, 40, 50 };
int sum0 = nums.Sum();
Console.WriteLine("the sum of all:{0}", sum0);//所有数据的和
int sum1 = nums.Where(n=>n%4==0).Sum();
Console.WriteLine("the sum of all:{0}", sum1);//所有是4的倍数的数据的和
int sum2 = nums.Where((n, i) => i % 2 == 0).Sum();//10 + 30 + 50
Console.WriteLine("the sum of all:{0}", sum2);//所有下标是4的倍数的数据的和
}
委托调用的方法只有一行,使用了Lambda 方式,如果委托调用方法中有很多行代码,该如何处理?
...全文
相关推荐
多线程,Delegate 委托带参数的方法
Delegate '委托,带参数的方法,多线程,可以轻松在线程中传递参数,获取返回值.
C#委托与匿名委托详解
主要为大家详细介绍了C#委托与匿名委托的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C#中委托与事件的区别
委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件。对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论
vb.net多线程通过Deletgrate委托调用传递参数.rar
委托调用多线程传递参数vb.net vb.net多线程通过Deletgrate委托调用传递参数 实现多线程调用中变量和参数的传入和传出。 原创代码,亲测有效!
C# 通过委托和线程实现chart控件的实时更新
该文档给出了c#线程实时更新图表及其他控件数据的完成代码,通过委托delegate和控件的BeginInvoke方法实现数据的绑定


LINQ
