【C#冷知識系列】(一)那些你知道或者不知道的奇淫巧技

引子

正如我在個人介紹中所寫,我是一個仍然堅持.NET的頭鐵高級軟件工程師,研究C#,.NET已經六年多,一直堅持認爲自己的能力不足以教授別人,所以一直沒有想法寫博客。工作幾年,內容涵蓋了.NET框架下的各種軟件的開發,WPF,WinForm,WebForm,ASP.NET,MVC5,開發的軟件幾乎涵蓋了.NET家族的各個成員。讓我下定決心寫一系列C#高級開發文章的原因並不是因爲某天早上起牀突如其來的興致勃勃的決定要將自己這些年積累的經驗分享給大家,而是是因爲公司前端的一句“快脫坑吧,你們做WPF沒有什麼前途,公司爲了跨平臺你們的項目都要用Electron重做了!”。

聽起來有點悲傷,聯想到公司已經連着三年沒有從校招中招到一個C#的工程師了,似乎沒落也不覺得奇怪。.NET開發者紛紛脫坑,新人卻無以爲繼,眼看着C# .NET越來越冷清,我也不是沒有任何的準備,由於C#和Java那些不能說的祕密,讓C#程序員轉型Java有着得天獨厚的便利條件,我在公司中同樣做過Java的開發,並在某一個時間段內考慮過轉型Java,也曾想過不做.NET程序員,幹回嵌入式的老本行,也在Electron出名之後就不斷關注Electron的發展,學習Vue,爲已經到來的跨平臺需求做準備。

出去看了外面的世界才覺得還是家裏好。總覺得自己啥也不行就是好折騰,這些年主流的編程語言都玩過,卻始終自顧自的認爲C#是很美的一門語言,另一個讓我覺得很美的語言是Python,所以目前我會使用C#做桌面應用,使用Python寫腳本。.NET Core的出現也讓我對於C#的命運多了些許的希望,我們都能看到微軟在跨平臺上面的努力,成事在天,對於以後會怎樣,誰也無法給出確切的預測。

一方面是冷清的大環境,一方面是還算龐大的市場,有很多公司.NET的軟件需要維護,相比於C++ QT的跨平臺桌面軟件解決方案,.NET的效率優勢十分巨大,在不需要跨平臺的時候,優勢還是相當大的,那.NET的開發者又是什麼情況呢?在公司的面試過程中,我發現無論是校招,還是社招,對於C#語言,大家普遍認爲比較簡單,入門門檻低,但是實際對於語言的掌握程度卻鮮有能精通的,有些是根本沒有深入瞭解,究其原因是學習一門編程語言,入門容易,提高很難。網上很多入門視頻,很少深入書籍,這就導致了提高到一定程度的之後,就沒有人教你了,只能在工作中慢慢摸索前進,有人帶還好,沒人帶的話,這個過程就比較痛苦。有些是固步自封,不願主動了解C#的一些新的特性,不願深挖其中的奧祕。

作爲局中人,我希望能夠通過我的努力,爲我喜愛的東西做點力所能及的貢獻,所以經過一段事件的準備,我計劃出一系列C#高級編程的教程,內容涵蓋了新的語言特性,專題講解,實戰項目等,希望我的努力能讓更多的人深入的瞭解C#,瞭解.NET,能讓更多的人技術更加的精進,不再拘泥於調用API,在別人設計好的框架下開發。希望能帶着初級程序員走進高級的殿堂。

課程介紹

那麼第一個系列,我叫他冷知識系列,是對比較簡單的語法,知識點的一個補充,內容涵蓋了初級程序員不太會用到的一些奇淫巧技,C#語言的新的語法特性等,學會了這些,不僅可以極大的開闊視野,簡化編程,也可以在同伴同事前面秀一把。相信這個系列一定會讓你有所收穫。

適用人羣

需要強調的是,這個系列並不是C#的初級文章,要看懂並且消化該系列的知識,需要你至少完成了C#初級的學習,也就是至少看過一遍C#初級的書籍,敲過一遍代碼,如果你有實際的項目經驗那就更好了,本系列一定能讓你的C#技巧提高一個層次。

我很喜歡之前在論壇上看到的一句話,“不怕你會C#,怕就怕你只會C#”,想做高級開發工程師的童鞋,還是建議你多學一些語言,清楚編程語言的不同特性到底意味着什麼,學好軟件設計,我也有興趣之後跟大家分享一些在實際工作中很常用的設計模式。畢竟社會是殘酷的,出門多背幾樣必需品,有備無患

C#還沒有死,我們也不必在夾縫中生存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章