1. 程式人生 > >C# 7.0 使用下劃線忽略使用的變數

C# 7.0 使用下劃線忽略使用的變數

在 C# 7.0 支援使用下劃線忽略不使用的變數

這個方法用的比較多的是在 out 引數,如使用 int 的嘗試轉換函式

           var str = "123";
            if (int.TryParse(str, out var _))
            {
                var n = _;
            }

在這裡插入圖片描述

編譯是不通過的,會出現 error CS0103: The name '_' does not exist in the current context 上面的程式碼還可以去掉 var 程式碼

            var str = "123";
            if (int.TryParse(str, out _))
            {
                //var n = _; 
            }

在 ValueTuple 也是很多的使用

            var db = ("林德熙", "逗比");
            var (lindexi, _) = db;

上面程式碼表示只拿出 lindexi 而 逗比是不拿出來的,雖然使用了下劃線,但是如果在下面要使用下劃線是無法編譯通過

在這裡插入圖片描述

從這個特性可以推出在辣麼大的使用,請看程式碼

            Action<int> f = _ =>
            {
                var n = 2;
            };

這樣寫表示不理會第一個引數,雖然這樣寫和下面程式碼是不等價的

            Action<int> f = delegate
            {
                var n = 2;
            };

但是從約定上,使用下劃線表示忽略的程式碼

我搭建了自己的部落格 https://lindexi.gitee.io/ 歡迎大家訪問,裡面有很多新的部落格。只有在我看到部落格寫成熟之後才會放在csdn或部落格園,但是一旦釋出了就不再更新

如果在部落格看到有任何不懂的,歡迎交流,我搭建了 dotnet 職業技術學院 歡迎大家加入

知識共享許可協議
本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含連結:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的作品務必以相同的許可釋出。如有任何疑問,請與我聯絡