国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

VS2015C#6.0中的那些新特性

2019-11-14 13:44:00
字體:
來源:轉載
供稿:網友

  VS2015在自己機器上確實是裝好了,(全部安裝的話,在java SE 開發(fā)工具包 會卡頓很長時間,我直接關閉,然后重啟電腦,重新修復安裝搞定),

想來體驗一下跨平臺的快感,結果被微軟狠狠的來了一棒子了,裝好了還是沒什么用,應該還需要裝Xarmain插件,配置一些參數吧,

由于這塊之前從未接觸過,想了想還是先不把時間繼續(xù)浪費在這里了,于是乎來體驗一下新特性了。

參考資料:

1:CHS-WhatsNewinC# 6.0(微軟視頻)  鏈接:http://pan.baidu.com/s/1kTjLyjt  密碼:v6mr

2:VS2015CSharp6.0(英文文檔)           鏈接:http://pan.baidu.com/s/1eQsddtC  密碼:kvg1

1、自動屬性的增強

1.1、自動屬性初始化 (Initializers for auto-PRoperties)

C#5.0下的果斷實現(xiàn)不了的。

C#6.0中自動屬性的初始化方式

 1.2、只讀屬性初始化Getter-only auto-properties

先來看一下我們之前使用的方式吧

再來看一下C#6.0中

和第一條自動屬性初始化使用方式一致。

2、引用靜態(tài)類Using Static

 在Using中可以指定一個靜態(tài)類,然后可以在隨后的代碼中直接使用靜態(tài)的成員

3、字符串嵌入值 

在字符串中嵌入值,之前一直使用的方式是

 

現(xiàn)在我們可以簡單的通過如下的方式進行拼接

4、Expression bodied function members

4.1 用Lambda作為函數體Expression bodies on method-like members

4.2 用Lambda表達式用作屬性Expression bodies on property-like function members

5、帶索引的對象初始化器Index initializers 

6、空值判斷Null-conditional Operators

7、nameof表達式nameof expressions

 在方法參數檢查時,你可能經常看到這樣的代碼(之前用的少,這次也算學到了)

里面有那個Point是我們手寫的字符串,在給Point改名時,很容易把下面的那個字符串忘掉,C#6.0 nameof幫我們解決了這個問題,看看新寫法

8、異常過濾器 (Exception filters)

先來看一個移植過來的方法

1             try { var numbers = new Dictionary<int, string> {[7] = "seven",[9] = "nine",[13] = "thirteen" };2             } catch (ArgumentNullException e)3             { if (e.ParamName == "customer")4                 {5                     Console.WriteLine("customer can not be null");6                 }7             }
移植過來的方法

在微軟的文檔中還給出了另一種用法,這個異常會在日志記錄失敗時拋給上一層調用者

 1         private static bool Log(Exception e) 2         { ///處理一些日志 return false; 3         } static void Main(string[] args) 4         { try { ///  } catch (Exception e){if (!Log(e)) 5                 { 6  7                 } 8             } 9 10             Console.ReadLine();11         }
微軟的文檔 處理異常

9、catch和finally 中的 await —— Await in catch and finally blocks

 在C#5.0中,await關鍵字是不能出現(xiàn)在catch和finnaly塊中的。而在6.0中

1             try {2                 res = await Resource.OpenAsync(&hellip;); // You could do this. …   } catch (ResourceException e)3             { await Resource.LogAsync(res, e); // Now you can do this …  } finally { if (res != null) await res.CloseAsync(); // … and this.  } 
C# 6.0 await

10、無參數的結構體構造函數—— Parameterless constructors in structs

總結:

之前看到有大神發(fā)過一篇文章http://m.survivalescaperooms.com/henryzhu/p/new-feature-in-csharp-6.html,自己還是禁不住想來切身的體驗一番。感覺很不錯。 也學到了不少新東西。

參考文章:

http://aehyok.com/Blog/Detail/66.html

http://jingyan.baidu.com/article/54b6b9c0df22742d593b476d.html

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 壶关县| 水富县| 柞水县| 伽师县| 涟水县| 邵武市| 陆川县| 内乡县| 林州市| 河南省| 永靖县| 临海市| 惠东县| 宾川县| 楚雄市| 都兰县| 电白县| 墨脱县| 静宁县| 通河县| 博客| 清涧县| 晋宁县| 正阳县| 兰考县| 河津市| 神木县| 洪洞县| 封丘县| 台前县| 绥阳县| 浦北县| 清水县| 和田县| 宜良县| 德惠市| 车致| 应城市| 彭州市| 黑龙江省| 琼中|