標籤:

如何評價C# 6的這個新特性?

導入指定靜態類內的所有公有靜態方法:

C# 1 - 5:

public double A { get { return Math.Sqrt(Math.Round(5.142)); } }

C# 6:

using static System.Math;
...
public double A { get { return Sqrt(Round(5.142)); } }


靜態方法獨立到了「一等成員」的位置了。個人不太適應,在這之前c#的結構非常完美,引入的這個特性倒容易顯得更凌亂了。

再這樣下去……c#就會支持全局變數了……


C#他爹終於知道所有函數都一定要寫進class裡面是一個多傻逼的事情了……

=================================================

經歷了差不多10年之後,Java粉們再次因為能夠目睹C#做了一個跟Java以前一樣的決定而歡呼雀躍。


Anders Hejlsberg是不是在微軟沒啥事情幹了啊?


這不就是java5中的靜態導入嘛?老實說不喜歡,把OOP搞得和過程式語言似的。

也就寫單元測試這類代碼時能用一用。


如何評價?

歡迎來到 Python 和 Java 數年前的地方。


不大喜歡這樣的設計,可讀性不好了,因為C#有強大的VS主力,這個設計使開發者沒少寫多少代碼。


怎麼說……我有時候寫過程式,把一堆方法扔一個靜態類里。然後有行代碼是這樣的:

Methods.WriteToFile(opath, Methods.RstMaxCVcLnsTo(Methods.TrVLnEnd(Methods.ReadFromFile(path)).ToArray(), 0));

我重讀的時候看著格外蛋疼。另外要不是在Visual Studio里,這種代碼……我壓根不敢寫。

所以我舉雙手贊成這個特性,儘管我平時可能壓根連用都不用它。


這個特性沒看出有什麼太好的地方,少寫幾個字母嗎?? 讀代碼時越發蛋疼了


推薦閱讀:

怎樣減輕程序中 if 語句的依賴?
遊戲中的隨機地圖是如何保存的?
數據結構存儲數據內存不夠如何解決?
零基礎自學反彙編相關的計算機知識,該如何入門,有什麼書可以推薦?
請問各位寫代碼都是從零開始嗎?比如做課程設計等。網上的源碼該如何利用?自己寫了其中多少代碼算自己寫的?

TAG:編程 | C# |