WEB开发网
开发学院软件开发C语言 [C# 3.0 入门] [第一章 Lambda表达式] 第五节:La... 阅读

[C# 3.0 入门] [第一章 Lambda表达式] 第五节:Lambda表达式的使用范例 & Lambda表达式的各种变体

 2010-09-30 20:59:45 来源:WEB开发网   
核心提示:Lambda表达式的使用范例到现在为止的例子大多数,完全都是从文法上到功能上的说明,[C# 3.0 入门] [第一章 Lambda表达式] 第五节:Lambda表达式的使用范例 & Lambda表达式的各种变体,多数情况下不必使用Lambda表达式也能够写出来,最后,所以更愿意选择在循环内判定,1using S

Lambda表达式的使用范例

到现在为止的例子大多数,完全都是从文法上到功能上的说明,多数情况下不必使用Lambda表达式也能够写出来。最后,我还是来展示几个有一定实用性的Lambda表达式的实例。

这里是一个,输入整形的数组,以其值为除数,执行除法运算后输出结果的程序。因为要执行除法运算,所以输入的值可能存在不能接受的值(0)的情况(就是说,这个示例代码可以在输入值不正确的情况下也能正常工作)。

那么,这个程序的输入如果是0的情况下,就提示信息然后必须退出。这个意图如果用Lambda表达式该怎么写呢?

这个问题的要点有两个。

l  在执行计算的循环中检查0值的话,计算开始后会发生中断。就是说,可能会同时计算值与错误信息两者都输出。

l  如果不输出计算值只输出错误信息的话,最好在计算的循环之前在设置一个检查0值的循环。但是,这样写的话就用了两个循环太冗长了。

总之,两个方法都有缺点。换做笔者,如果有“计算开始前应该先检查完毕”的要求,去除繁冗更重要,所以更愿意选择在循环内判定。

 1using System;
 2
 3class Program
 4{
 5  static void Main(string[] args)
 6  {
 7    int[] a = { 1, 2, 0 };
 8
 9    foreach (int n in a)
10    {
11      if ( n == 0 )
12      {
13        Console.WriteLine("数组里面含有0。");
14        return;
15      }
16      Console.WriteLine(100 / n);
17    }
18    // 输出:
19    // 100
20    // 50
21    // 数组里面含有0。
22  }
23}
24
25

1 2 3  下一页

Tags:入门 第一章 Lambda

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接