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