中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C#中的var關鍵字怎么使用

發布時間:2022-08-27 14:40:13 來源:億速云 閱讀:142 作者:iii 欄目:開發技術

這篇“C#中的var關鍵字怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C#中的var關鍵字怎么使用”文章吧。

var關鍵字用來隱式地聲明一個數據類型,變量類型是在編譯期確定的,而不是在運行時確定的

聲明一個var變量a,把整型數10賦值給a,接著把一個字符串賦值給變量a。運行發現報錯:無法將類型string隱式轉換為int。

聲明一個var變量a,把整型數10賦值給a,接著把一個字符串賦值給變量a。運行發現報錯:無法將類型string隱式轉換為int。

C#中的var關鍵字怎么使用

這說明:用var聲明一個變量時,雖然不是顯式聲明,但在編譯期,已經確定了變量的類型。

通過反編譯同樣可以證明以上推斷。

→把a = "abc";這行代碼去掉,并生按F6生成解決方案。
→打開"VS2012開發人員命令提示",輸入如下命令

C#中的var關鍵字怎么使用

→在"解決方案資源管理器"中右鍵項目的名稱,選擇"在文件資源管理器中打開文件夾",再點擊bin,Debug文件夾,在地址欄中賦值Debug文件夾的路徑
→點擊"IL DASM"的文件--打開,輸入剛才拷貝的Debug文件夾路徑,再選擇.exe后綴的可執行文件,雙擊"Main:void(string[])"。在IL代碼中:

C#中的var關鍵字怎么使用

可以看出:變量a已經是Int類型,并且是一個局部變量。

var關鍵字讓編碼更簡短

對于一些名稱比較長的類,當創建類實例的時候,用var關鍵字看上去更簡短。當然這個理由是比較牽強的~~

     class Program
    {
        static void Main(string[] args)
        {
            HelloIHaveALongLongName<string, string> obj = new HelloIHaveALongLongName<string, string>();
        }
    }
    public class HelloIHaveALongLongName<T, T>
    {
        public string Name;
    }

如果使用var關鍵字,就變成:

var obj = new HelloIHaveALongLongName<string, string>();
obj.Name = "hello";

可見,用var關鍵字,讓寫法更簡短,并且var變量是一個強類型。

var關鍵字與匿名類型

通過LINQ表達式返回一個匿名類型。

        static void Main(string[] args)
        {
            string[] strs = {"hello", "world", "nice", "to", "meet", "you"};
            object o = from s in strs
                where s.Length > 3
                select new {s.Length, s};
        }

以上,object類型變量o并不是一個強類型變量。

C#中的var關鍵字怎么使用

如果我們用強類型的類來接收LINQ返回的集合。

    class Program
    {
        static void Main(string[] args)
        {
            string[] strs = {"hello", "world", "nice", "to", "meet", "you"};
            IEnumerable<SomeData> o = from s in strs
                where s.Length > 3
                select new SomeData() {Key = s.Length, Value = s};
            foreach (SomeData item in o)
            {
                Console.WriteLine(item.Key);
            }
        }
    }
    public class SomeData
    {
        public int Key;
        public string Value;
    }

以上,在IEnumerable<SomeData>類型集合中,每一個集合元素都是強類型。

如果用var關鍵字來接收LINQ返回的匿名類型集合。

    class Program
    {
        static void Main(string[] args)
        {
            string[] strs = { "hello", "world", "nice", "to", "meet", "you" };
            var o = from s in strs
                    where s.Length > 3
                    select new { Key = s.Length, Value = s };
            foreach (var item in o)
            {
                Console.WriteLine(item.Key);
            }
        }
    }

以上,var類型變量o接收匿名類型集合,該集合的每個元素也是強類型。也就是說,編譯器在編譯的時候自動推斷類型。

總結:

  • 通過var關鍵字聲明的變量,變量類型是在編譯期確定的,而不是在運行時確定

  • 對于LINQ表達式返回的匿名類型,可以用var關鍵字聲明的變量接收

  • 對于一些名稱比較長的類,類實例化的時候,可以用var關鍵字聲明的變量接收

以上就是關于“C#中的var關鍵字怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

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

var
AI

乌拉特前旗| 全州县| 香格里拉县| 繁昌县| 许昌市| 东海县| 张掖市| 五莲县| 河间市| 菏泽市| 南华县| 扎鲁特旗| 张家川| 洛南县| 晋中市| 闽侯县| 菏泽市| 邵阳县| 龙门县| 独山县| 威宁| 讷河市| 广灵县| 灵丘县| 富锦市| 巴林右旗| 江华| 泽库县| 富宁县| 保康县| 贡山| 远安县| 丽江市| 云和县| 安西县| 边坝县| 内丘县| 东山县| 临沧市| 墨竹工卡县| 江阴市|