linq中文教程 五

2021-05-22 14:31:14 字數 1413 閱讀 1993

自動屬性

public class person

public int age

public person() }

person p = new person();

//p.username = "aa";

console.writeline(p.username);

意義不是很大,純粹解決機械勞動。編譯器自動為你生成get、set操作以及字段,並且你不能使用欄位也不能自定義get、set操作,不過你可以分別定義get和set的訪問級別。

物件初始化器

public class person

public int age

public override string tostring()

age:", this.username, this.age);

} }

person p = new person() ;

console.writeline(p.tostring());

編譯器會自動為你做setter操作,使得原本幾行的屬性賦值操作能在一行中完成。這裡需要注意:

·  允許只給一部分屬性賦值,包括internal訪問級別 ·

可以結合建構函式一起使用,並且建構函式初始化先於物件初始化器執行

集合初始化器

public class person

public int age

public override string tostring()

age:", this.username, this.age);

} }

var persons = new list ,

new person };

foreach(var p in persons)

console.writeline(p.tostring());

編譯器會自動為你做集合插入操作。如果你為hashtable初始化的話就相當於使用了兩個物件初始化器。

lambda表示式

var list = new ;

var result = array.findall(list, s => (s.indexof("a") > -1));

foreach (var v in result)

console.writeline(v);

其實和2.0中的匿名方法差不多,都是用於產生內聯方法,只不過lambda表示式的語法更為簡潔。語法如下:

(引數列表) => 表示式或者語句塊

其中:引數個數:可以有多個引數,乙個引數,或者無引數。

表示式或者語句塊:這部分就是我們平常寫函式的實現部分(函式體)。

linq中文教程 二

what s linq?language integrated query 是也。說得再明白一些,這是程式語言的一種新特性,能夠將資料查詢語句整合到程式語言中。目前,linq 支援的語言有 c 和vb。為啥會有 linq 主要還是因為現在的資料格式越來越多,資料庫 xml 陣列 雜湊表 每一種都有自...

linq中文教程 七

datacontext datacontext型別 資料上下文 是system.data.linq命名空間下的重要型別,用於把查詢句法翻譯成sql語句,以及把資料從資料庫返回給呼叫方和把實體的修改寫入資料庫。datacontext提供了以下一些使用的功能 以日誌形式記錄datacontext生成的s...

linq中文教程 十

使用dbdatareader資料來源 using system.data.sqlclient var conn new sqlconnection server database northwind uid pwd var ctx new datacontext conn var cmd new s...