精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:企業(yè)應(yīng)用軟件行業(yè)動態(tài) → 正文

Mads Torgersen介紹C# 7及后續(xù)版本新特性

責(zé)任編輯:editor005 作者:Pierre-Luc Maheu |來源:企業(yè)網(wǎng)D1Net  2016-06-29 12:01:49 本文摘自:INFOQ

在QCon紐約2016大會上,C#項目經(jīng)理Mads Torgersen介紹了即將到來的C# 7。他還簡單地闡述了C#的演化過程,并展示了部分正在開發(fā)的未來版本特性。

近年來,云和分布式系統(tǒng)的出現(xiàn)使開發(fā)人員面臨著新的挑戰(zhàn)。開發(fā)人員需要進(jìn)步,語言也要隨之進(jìn)步。像C#這樣一門多用途語言,其演化需要平衡不同的方面:

改善 vs 保持簡單 改善現(xiàn)有開發(fā) vs 吸引新用戶 采用新范式 vs 忠于C#的OOP精神

近年來,.Net整體上也經(jīng)歷了重大的變化:

支持Windows、Mac OS和Linux(.Net Core) 部署系統(tǒng) 編譯成本地代碼(.NET Native) 開源編譯器和公共Roslyn API 多編輯器選擇(由OmniSharp和Roslyn促成) 開源框架、編輯器和工具

C# 7

C# 7將隨Visual Studio 15交付,后者目前是以預(yù)覽版的形式提供。為了加快新語言特性的推出速度,他們正在討論點版本發(fā)布。這樣,語言特性會包含在小版本中。此舉的目的在于,一旦新特性開發(fā)完成,早期采用者就可以選擇激活各種新特性。

C# 7將包含元組。從一個方法返回多個值變得更簡單:

static (int sum, int count) Method(){ return (0, 0)}// 調(diào)用方法并使用結(jié)果var result = Method();Console.WriteLine($"Sum:{result.sum}.Count: {result.count}.");

元組還可以用在泛型類型中。元組是值類型,也就是說,它們是在棧上分配內(nèi)存,而不是堆上。這可能會提高性能,比如減少關(guān)鍵代碼路徑中的垃圾收集開銷。

// 異步方法返回元組static async Task<(int sum, int count)> Method()// Dictionary使用元組作為鍵var dict = new Dictionary<(string first, string last), person>;

部分模式匹配特性的刪減招致了模式匹配特性將整體刪除的傳言。C# 7還會包含模式匹配特性,未來版本還會進(jìn)行增強(qiáng)。

C# 7后續(xù)版本特性

有多項特性目前正在開發(fā)之中,將會包含在C#的下一個版本中。為了提供一種簡單的方式處理某些場景,更多的模式匹配語義也正在探索之中:

// 使用C# 7模式匹配if (O is Point p && p.X == 5) { WriteLine($"Y: {p.Y}")}// 使用未來版本的替代語法處理相同的場景if (o is Point X {var x, Y: var y} && x == 5) { WriteLine($"Y: {y}")}if (o is Point { X : 5, Y: var y}) { WriteLine($"Y: {y}")}if (o is Point(5, var y)) { WriteLine($"Y: {y}")}

可空引用類型的實現(xiàn)正在進(jìn)行當(dāng)中。當(dāng)前的思路是,當(dāng)編譯器檢測到null值的不合理使用時就發(fā)出警告:

string? n;string s;n = null; // 好的,可空s = null; // 警告,不應(yīng)該為空s = n; // 警告WriteLine(s.Length); // 一定不為空WriteLine(n.Length) // 警告!可能為空

不可變值類型Record是另一項正在開發(fā)中的特性。不可變讓并發(fā)環(huán)境數(shù)據(jù)分享更安全,讓程序更容易推斷。Record類型提供了一種在C#中使用不可變性的簡潔方式。Record有默認(rèn)值語義,就是說提供了開箱即用的getter、GetHashCode、equality成員實現(xiàn)。

查看英文原文:C# 7 and Beyond with Mads Torgersen

關(guān)鍵字:WriteLineMads

本文摘自:INFOQ

x Mads Torgersen介紹C# 7及后續(xù)版本新特性 掃一掃
分享本文到朋友圈
當(dāng)前位置:企業(yè)應(yīng)用軟件行業(yè)動態(tài) → 正文

Mads Torgersen介紹C# 7及后續(xù)版本新特性

責(zé)任編輯:editor005 作者:Pierre-Luc Maheu |來源:企業(yè)網(wǎng)D1Net  2016-06-29 12:01:49 本文摘自:INFOQ

在QCon紐約2016大會上,C#項目經(jīng)理Mads Torgersen介紹了即將到來的C# 7。他還簡單地闡述了C#的演化過程,并展示了部分正在開發(fā)的未來版本特性。

近年來,云和分布式系統(tǒng)的出現(xiàn)使開發(fā)人員面臨著新的挑戰(zhàn)。開發(fā)人員需要進(jìn)步,語言也要隨之進(jìn)步。像C#這樣一門多用途語言,其演化需要平衡不同的方面:

改善 vs 保持簡單 改善現(xiàn)有開發(fā) vs 吸引新用戶 采用新范式 vs 忠于C#的OOP精神

近年來,.Net整體上也經(jīng)歷了重大的變化:

支持Windows、Mac OS和Linux(.Net Core) 部署系統(tǒng) 編譯成本地代碼(.NET Native) 開源編譯器和公共Roslyn API 多編輯器選擇(由OmniSharp和Roslyn促成) 開源框架、編輯器和工具

C# 7

C# 7將隨Visual Studio 15交付,后者目前是以預(yù)覽版的形式提供。為了加快新語言特性的推出速度,他們正在討論點版本發(fā)布。這樣,語言特性會包含在小版本中。此舉的目的在于,一旦新特性開發(fā)完成,早期采用者就可以選擇激活各種新特性。

C# 7將包含元組。從一個方法返回多個值變得更簡單:

static (int sum, int count) Method(){ return (0, 0)}// 調(diào)用方法并使用結(jié)果var result = Method();Console.WriteLine($"Sum:{result.sum}.Count: {result.count}.");

元組還可以用在泛型類型中。元組是值類型,也就是說,它們是在棧上分配內(nèi)存,而不是堆上。這可能會提高性能,比如減少關(guān)鍵代碼路徑中的垃圾收集開銷。

// 異步方法返回元組static async Task<(int sum, int count)> Method()// Dictionary使用元組作為鍵var dict = new Dictionary<(string first, string last), person>;

部分模式匹配特性的刪減招致了模式匹配特性將整體刪除的傳言。C# 7還會包含模式匹配特性,未來版本還會進(jìn)行增強(qiáng)。

C# 7后續(xù)版本特性

有多項特性目前正在開發(fā)之中,將會包含在C#的下一個版本中。為了提供一種簡單的方式處理某些場景,更多的模式匹配語義也正在探索之中:

// 使用C# 7模式匹配if (O is Point p && p.X == 5) { WriteLine($"Y: {p.Y}")}// 使用未來版本的替代語法處理相同的場景if (o is Point X {var x, Y: var y} && x == 5) { WriteLine($"Y: {y}")}if (o is Point { X : 5, Y: var y}) { WriteLine($"Y: {y}")}if (o is Point(5, var y)) { WriteLine($"Y: {y}")}

可空引用類型的實現(xiàn)正在進(jìn)行當(dāng)中。當(dāng)前的思路是,當(dāng)編譯器檢測到null值的不合理使用時就發(fā)出警告:

string? n;string s;n = null; // 好的,可空s = null; // 警告,不應(yīng)該為空s = n; // 警告WriteLine(s.Length); // 一定不為空WriteLine(n.Length) // 警告!可能為空

不可變值類型Record是另一項正在開發(fā)中的特性。不可變讓并發(fā)環(huán)境數(shù)據(jù)分享更安全,讓程序更容易推斷。Record類型提供了一種在C#中使用不可變性的簡潔方式。Record有默認(rèn)值語義,就是說提供了開箱即用的getter、GetHashCode、equality成員實現(xiàn)。

查看英文原文:C# 7 and Beyond with Mads Torgersen

關(guān)鍵字:WriteLineMads

本文摘自:INFOQ

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號-6 京公網(wǎng)安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 甘德县| 柏乡县| 荥阳市| 延边| 博客| 丹江口市| 邢台市| 怀远县| 涟源市| 东宁县| 禹城市| 德庆县| 金乡县| 武隆县| 林周县| 英吉沙县| 洛隆县| 塔河县| 新竹市| 隆昌县| 云霄县| 阿勒泰市| 武胜县| 屯留县| 宁明县| 吴江市| 墨江| 台南市| 阜新| 烟台市| 临沂市| 汝州市| 台山市| 高州市| 益阳市| 门头沟区| 丁青县| 苏尼特左旗| 鄱阳县| 西充县| 都兰县|