程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [C# 3.0 入門] [第一章 Lambda表達式] 第五節(1)

[C# 3.0 入門] [第一章 Lambda表達式] 第五節(1)

編輯:關於C語言

[C# 3.0 入門] [第一章 Lambda表達式] 第五節:Lambda表達式的使用范例 & Lambda表達式的各種變體

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. 下一頁:
Copyright © 程式師世界 All Rights Reserved