91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET Framework隱式類型變量的相關概念是什么

發布時間:2021-11-25 09:32:08 來源:億速云 閱讀:119 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關.NET Framework隱式類型變量的相關概念是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

.NET Framework中有一種新的特性,叫做.NET Framework隱式類型變量。我們會在這篇文章中詳細的為大家介紹相關知識。使用vs 2008,可以聲明一個變量,讓編譯器隱式地決定該變量的類型。LINQ就是使用這個功能處理所創建的變量的。要使用這個功能,需要使用var關鍵字:

var x=5;

使用這個語句時,編譯器會使用5來確定該變量的類型。這表示,該語句實際上應該如下表示:

int x=5;

.NET Framework隱式類型變量是強類型的,在編譯器***次編譯后var就會被確定的類型所替代的.

隱式類型化的變量關鍵字與js中的var:

javascript是弱類型的語言,而且javascript中的變量(也包括用var聲明的變量)可以變換類型,如下面的javascript所示:

var s = "abcd";  s=3;  alert(s);

上面的代碼***次給s賦了一個字符串,而第二行代碼又給賦了一個整數。這樣的代碼在javascript中沒有任何問題。但在C#3.0中,var變量一但被初始化,確定類型后,就無法改變類型了。如下面的代碼是無法編譯通過的:

var ss = "abcd";  ss = 44;

綜上所述,在使用.NET Framework隱式類型變量var定義變量時有以下四個特點:

1.必須在定義時初始化。也就是必須是var s = “abcd”形式,而不能是如下形式:

var s;  s = “abcd”;

它是編譯器根據上下文推斷出來的,所以所有一切不能被編譯器推斷出來的用法都是錯誤的。比如不能這樣使用:var nullValue = null;因為null啥也不是,他是一個空指針,是一個不確定的東西。也不能這樣使用:var I = 5;I = “abc”;編譯器根據***個賦值會推斷出它是一個整型,但是隨后又將一個字符串賦值給它,這是怎么回事呢?

2.var要求是局部變量。

3.使用.NET Framework隱式類型變量var定義變量和object不同,它在效率上和使用強類型方式定義變量完全一樣。但筆者建議如果事先知道變量的類型,盡量使用強類型方式來聲明變量。否則,就會造成由于大量使用var,而使得開發人員很難斷定某個變量是什么類型。這樣不利于程序的維護和升級。(只在編譯器可推斷而人不可推斷的時候才使用隱式類型局部變量,靠我們人工可以推斷的還是不建議使用,顯式的聲明變量類型可以增強代碼的可讀性,這是一個好的編程習慣,不要因為C# 3.0提供了這樣的特性就大用而特用。)

雖然.NET Framework隱式類型變量var有利有弊,但筆者個人認為,如果將動態語言轉換成C#語言,可以考慮使用var來定義變量。這是因為動態語言沒有類型,而要將其轉換成強類型的C#語言,就必須給變量指定個類型,但事先確定類型是很費勁的,不如將其指定成var,再由C#編譯器去確定變量的具體類型。那么如果在轉換的過程中,發現動態語言的變量改變了類型,該怎么辦呢?這個可以使用“匿名類”來解決這個問題。

以上就是.NET Framework隱式類型變量的相關概念是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌鲁木齐市| 米易县| 杂多县| 宁晋县| 墨竹工卡县| 二手房| 林西县| 新竹县| 宜良县| 通许县| 乌拉特后旗| 墨江| 武威市| 金寨县| 山阴县| 阆中市| 新津县| 东宁县| 平谷区| 治县。| 万盛区| 板桥市| 开封县| 雅江县| 静海县| 浦城县| 屏东市| 丰县| 德保县| 赣州市| 额尔古纳市| 南汇区| 深州市| 五原县| 萍乡市| 潢川县| 德安县| 富顺县| 梁山县| 开封市| 南城县|