首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Visual C# 3.0 新特性概覽 (2) - 延伸方法、物件/集合初始化設定、Lambda 運算式基礎

     編輯:關於C語言

延伸方法

為現有型別新增靜態方法,**僅限靜態類別宣告**,第一個參數前加 this:

public static int ToInt32(this string s) => Convert.ToInt32(s);

引用命名空間後,string 彷彿擁有 ToInt32() 實例方法:

string s = "1"; int i = s.ToInt32(); // 編譯執行皆可

優先序低於實例方法,無法覆寫既有成員。

物件與集合初始化設定

宣告與初始化合併為單一陳述式:

// 物件初始化設定
var myCoOrd = new CoOrdinate { x = 0, y = 0 };
// 等同於:呼叫無參數建構函式 + 設定屬性

// 集合初始化設定
List<string> animals = new List<string> { "monkey", "donkey", "cow", "dog", "cat" };
// 取代 C# 2.0 多行 Add() 呼叫

Lambda 運算式:匿名方法的濃縮精華

C# 1.x 委派需宣告方法:

DemoDelegate myDelegate = new DemoDelegate(SayHi);
void SayHi() { Console.WriteLine("Hiya!!"); }

C# 2.0 匿名方法:

DemoDelegate myDelegate = delegate() { Console.WriteLine("Hiya!!"); };

C# 3.0 Lambda 進一步簡化,詳見下一節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved