這段時間稍微有點空下來,所以決定整理整理自己所理解的C#語言,在我的工作經驗中,對業務邏輯的開發並不是特別多,幾年的工作經驗將更多的時間花在了對於C#語言本身的學習上,所以積累了一些經驗,一些我自己在學習中遇到的困惑和瓶頸分享出來,希望大家也能有收獲,所以我必須說明,分享的這部分經驗特別試用於在C#入門后的這部分人。剛剛對編程有一些概念,已經熟練了各種拖控件,熟練了一般的數據處理,熟練了從網上找解決辦法,而對於語言本身沒有太多理解的情況。如果你已經很精通了,那么我希望這些文章也會是復習的一個好的資料。有些表述錯誤的地方,也希望及時指正。
整個分享技術的文章架構還沒有想好,到時候就想到一篇發布一篇,估計也會受限於時間,發布的時間也會不定時,目前想到的就有,類型篇,生命周期篇,委托篇,泛型篇,迭代篇,異常篇,多線程篇,網絡通信篇,雖然講了那么多的方面,但是在新手實際開發中,確實難以使用的,或者說,難以想象用到這么多的技術來解決問題,編程的世界就是這樣,面對一個功能需求不太負責的程序需求,編程大牛可以快速的寫一個精簡高性能的程序,而新手磕磕碰碰,網上找找資料,也可以寫出一個性能不算高的程序,至少實現需求了,是吧。對用戶來說,1ms完成的操作和10ms,100ms完成的操作是一樣的感受,都是一瞬間的事情,所以大多數的情況下,用戶都不會覺得新手寫的程序性能差,如果新手寫的程序有一些實用功能的話,用戶還會覺得新手寫的程序更好。
我上面所邏輯的文章就是為了提升技能,增加對C#的理解,尤其是語言本身,能對目前學習到的編程有一個更好的理解。
關於C#語言本身
多年以來,微軟的統一包攬的姿態使得C#的程序員養成了一些壞習慣,從開發效率來說,我們開發一個小的工具軟件,比如一個文本分析工具,一個實時顯示一些現場數據的小軟件中,使用C#來開發的效率是極高的,效率高,功能OK就是生產力的體現,正是因為這樣,所以才造成了大多數的C#程序員知其然卻不知其所以然,平時開發開發小工具基本沒什么問題,但是在真正復雜的程序面前,在高性能代碼編寫的面前卻無能為力,也就造成了C#程序員的口碑比較差的結果。就語言本身,C#語言是一門非常不錯的語言,語法清晰簡單,類型安全,很多其他的書籍上都會明確的說明,此處就不贅述了。
很多人在初學C#的時候,一般都會選擇自上而下的學習方式,一上來直接學習窗口,控件,數據庫訪問,等等。這種方式上手容易,可以快速的構建一個簡單的程序,而對於自下而上的學習方式,一般入門的程序員理解起來比較困難,如果想要精通又不得不掌握。所以我的建議是可以先選擇自上而下學習方式,等到你已經很熟練了並且想知道更多的原理的時候再選擇自下而上學習一遍,這時候你的水平可以大幅度提升。
其他說明
我假定你已經掌握了C#的基礎技能,已經會使用winform開發了,還做了一些小的實用的程序,否則理解接下來的文章會相當吃力,好啦,接下來就開使進階之旅吧。
