xiacy

导航

2012年5月6日 #

5.5.6 共享和非共享的变量混合使用

摘要: MethodInvoker[] delegates = new MethodInvoker[2];int outside = 0;for(int i=0;i<2;i++){ int inside = 0; delegates[i] = delegate { Console.WriteLine("【outside:{0},inside:{1}】", outside, inside); outside++; inside++; };}MethodInvoker first=delegates[0];MethodInvoker sec... 阅读全文

posted @ 2012-05-06 12:36 xiacy 阅读(138) 评论(0) 推荐(0) 编辑

5.5.5 局部变量的实例化

摘要: List<MethodInvoker> list = new List<MethodInvoker>();for (int i = 0; i < 5; i++){ int counter = i * 10; list.Add(delegate { Console.WriteLine(counter); counter++; });}foreach (MethodInvoker t in list){ t();}list[0]();list[0]();list[0]();list[1]();输出结果01020304012311 阅读全文

posted @ 2012-05-06 12:07 xiacy 阅读(149) 评论(0) 推荐(0) 编辑

5.5.4 捕获变量的延长生存期

摘要: static void Main(string[] args){ MethodInvoker x = CreateDelegateInstance(); x(); x(); x();}static MethodInvoker CreateDelegateInstance(){ int counter = 5; MethodInvoker ret = delegate { Console.WriteLine(counter); counter++; }; ret(); return ret;}输出结果为:56... 阅读全文

posted @ 2012-05-06 12:00 xiacy 阅读(189) 评论(0) 推荐(0) 编辑

5.5.2 测试被捕获的变量的行为

摘要: string captured = "before x is created";MethodInvoker x = delegate{ Console.WriteLine(captured); captured = "changed by x";};Console.WriteLine(captured);captured = "directly before x is invoked";x();Console.WriteLine(captured);captured = "before second invocation&q 阅读全文

posted @ 2012-05-06 11:54 xiacy 阅读(138) 评论(0) 推荐(0) 编辑

5.5.1 定义闭包和不同类型

摘要: int outerVariable = 5;string capturedVariable = "captured";if (DateTime.Now.Hour == 23){ int normalLocalVariable = DateTime.Now.Minute; Console.WriteLine(normalLocalVariable);}MethodInvoker x = delegate(){ string anonLocal = "local to anonymous method"; Console.WriteLine("{0 阅读全文

posted @ 2012-05-06 11:46 xiacy 阅读(158) 评论(0) 推荐(0) 编辑

5.4.2 匿名方法的返回值

摘要: 从匿名方法放回一个值Predicate<int> isEven = delegate(int n) { return n % 2 == 0; };Console.WriteLine(isEven(1));Console.WriteLine(isEven(2));Console.WriteLine(isEven(3));Console.WriteLine(isEven(4));Console.WriteLine(isEven(5));Console.ReadKey();用匿名方法简便的排序文件static void SortAndShowFiles(string titile, Co 阅读全文

posted @ 2012-05-06 11:01 xiacy 阅读(256) 评论(0) 推荐(0) 编辑