Linq 預備知識(1)

2021-09-05 21:00:46 字數 1838 閱讀 2939

一:**區域性變數(var)

public class userinfo 

public string password

}class program

", i.tostring());

user.password = string.format("user", i.tostring());

users.add(user);

}foreach (var user in users)

console.readline();

}}

以前寫foreach的時候必須知道可列舉變數的具體型別

現在只要用乙個var就可以了

就像例子中:foreach (var user in users)一樣。

var可以用在很多情況下,比如using塊,如:

using (var file = new streamreader("c:\\a.txt"))

但是開發的過程中要注意以下幾點:

1:大量使用var關鍵字會造成程式**難於理解

2:宣告var變數的時候必須初始化,也不能把它初始化成null

3:不能在同一語句中初始化多個隱式型別的變數,

比如你可以這樣寫

int a = 1, b = 2;

但是不能這樣寫

var a = 1, b = 2;

二:物件初始化器

public class userinfo 

public string password

}class program

;console.writeline(user.username);

console.writeline(user.password);

console.readkey();

}}

userinfo user = new userinfo ;

這是初始化物件的一種新方法,叫物件初始化器

三:匿名型別物件

匿名物件表面上是var關鍵字和物件初始化器結合的產物

static void main(string args)

;console.writeline(user.username);

console.writeline(user.password);

console.readkey();

}

編譯過程中,編譯器建立了乙個物件,這個物件包含了相應的字段,並為這些字段建立了屬性

陣列也是一種物件

建立匿名陣列

static void main(string args)

;//int number = new int ;

foreach (var i in number)

console.readkey();

}

匿名陣列內的元素必須保持型別一致,要不然編譯通不過

四:lambda表示式

lambda表示式其實就是一種匿名函式,只是寫法不同,如:

public delegate void lambdaeventhandler();

class program

}

如果該匿名函式有引數,並且**塊中有多條語句。如下:

public delegate void lambdaeventhandler(object sender,eventargs e);

class program

;lambda("sender",null);

console.readkey();

}}

Linq 預備知識(1)

一 區域性變數 var public class userinfo public string password class program i.tostring user.password string.format user i.tostring users.add user foreach v...

《C 自學入門》1 預備知識

c 是在c語言基礎之上開發的一種語言,是c語言的超集,取至c語言中的自加運算子,其意義不言而喻。學習c 是一次探索之旅,c 是一種令人興奮的語言,在二十世紀九十年代便是最重要的程式語言之一,並在二十一世紀仍然保持強勁的勢頭。c 既繼承了c語言高效,簡介,快速和可移植性的傳統,又為應對複雜程度不斷提高...

知識星球 預備知識

1.tenorflow 安裝 參考 tensorflow安裝教程 tensorflow 安裝教程 tensorflownews 2.tensrflow基礎 關注圖 會話 tensor 變數 feed和fetch。使用圖 graphs 來表示計算任務 在被稱之為會話 session 的上下文 cont...