程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#3.0新特性(一)-隱式類型的局部變量和數組(3)

C#3.0新特性(一)-隱式類型的局部變量和數組(3)

編輯:關於C語言

3.var定義時,必須使用表達式初始化;

也就是必須定義成 var i=0; 沒有初始化編譯會報錯,而且初始化值不能為null,編譯器無法根據null來推斷出局部變量的類型;初始值除了int,string等數據類型外,還可以使用new 一個對象作為初始值(從網上大家發表的看法,var使用最多的就是配合一個匿名類型的對象來使用,以及在Linq中使用)

配合匿名類型使用:

var a = new { Name = "maotin", Age = 99 };
Console.WriteLine(a.Name);
Console.WriteLine(a.Age);

在linq中應用:

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var queryLowNums =
from num in numbers
where num < 5
select num;
var expr = from c in cusomers where c.City == "beijing" select c;
foreach (var s in queryLowNums)
{
Console.Write(s.ToString() + " ");
}

4.var和匿名類型:

string[] Words = { "aPPLE", "biuEb", "cHeRry" };
var upperLowerWords =
from w in Words
select new { Upper = w.ToUpper(), Lower = w.ToLower() };
foreach (var word in upperLowerWords)
{
Console.WriteLine("Uppercase:{0},Lowercase:{1}", word.Upper, Word.Lower);
}

注:

很多時候var是可以省略的;

但是在使用匿名類型初始化變量時,必須使用它;

由於只有編譯器知道匿名類型的名稱,因此必須在源代碼中使用它;

如果已經使用了var初始化了查詢變量,則還必須使用var作為對查詢變量進行循環訪問的foreach語句中迭代變量的類型。

5.var使用建議

一般var不要像“var i=9;”這樣使用,程序可讀性不高;在匿名類型中使用比較方便;foreach中使用也不錯;var只是語言層面的東西,編譯器會在編譯的時候通過類型推斷把它換成真正的類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved