程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> C#3.0中實現隱式類型變量、匿名類型的方法

C#3.0中實現隱式類型變量、匿名類型的方法

編輯:關於.NET

本文將向大家介紹一下在C#3.0中實現隱式類型變量、匿名類型的方法,希望對大家有所幫助。

  隱式類型變量 (Implicitly typed local variables)

  象下面的代碼書寫就是隱式類型變量

以下為引用的內容:
  var i = 5; 
  var str = “Csharp” 
  var numbers = new int[]{1,2,3}; 
  var orders = new System.Collections.Hashtable(); 
  var orders1 = new Dictionary();

  var i = xxx ; 的作用就是用 xxx 的類型聲明為i的類型。並給i 賦值。

  由於聲明時候,需要依賴於等號右邊的表達式,所以必須同時賦值。否則下面的書寫就會報錯誤: Error Implicitly typed locals must be initialized

  var gg;

  使用 Implicitly typed local variables 時應遵守下列約束:

  1. The declarator must include an initializer

  聲明時必須包含初始化器。

  2、The initializer must be an expression. The initializer cannot be an object or collection initializer by itself, but it can be a new expression that includes an object or collection initializer.

  初始化必須是一個表達式。初始化表達式不能包含它自身,

  但是可以是包含一個對象或集合初始化器的一個new表達式(即匿名類型)。

  3、The compile-time type of the initializer expression cannot be the null type.

  初始化器表達式的編譯期類型不可以是空(null)類型。

  比如:

  var gg = null; 這行代碼就會報錯誤: Cannot assign ’’ to an implicitly typed local

  4、If the local variable declaration includes multiple declarators, the initializers must all have the same compile-time type.

  如果局部變量聲明包含了多個聲明符,這些聲明符必須具備同樣的編譯期類型。

  比如如下代碼:

以下為引用的內容:
  var n = "Java" 
  var m = 4; 
  var ff = m + n; 
  Console.WriteLine(ff); 
  Console.WriteLine(ff.GetType());

  打印出來的信息會是:

  4.Java

  System.String

  5. The initializer cannot refer to itself. (初始化中不能提起它自身)

  隱式類型變量的使用范圍,它可不是到處能用。僅僅可以用於下面四種情況

  1. 局部變量聲明

  2. for 語句中變量聲明)

  3. using 語句初始化變量時.

  4. foreach 中iterator類型聲明)

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