C# 技術分支: OOP思想得做2~3年項目才明白的。
系統方面: IO,多線程,進程間通訊,IPC通訊,管道,字符編碼。
序列化JSON,XML,YAML,ProtoBuf,ini文件。
數據處理方面:字節序,邏輯平移,算術平移, 字符串輸出。
網絡通訊方面,socket,utp,http,tcp ,串口通訊 。
內存文件映射,異步寫入,異步等待,線程池,協程,Enumeratable<T> 跟 Enumerator<T> 的區別。
Stack<T>,List<T>, Queue<T> ,Dictionary<Key,Value> Action<T,...> , Func<T1,returnType>
PC端軟件開發 winform:各種控件的認識,句柄的概念(windows消息認識 , 鉤子Hook全局熱鍵實現,)也需要1~2年。
UI方面: 組件,GDI,繪圖函數,委託調用 ,自定義控件,自定義設計器(VSSDK,編寫VS插件)
圖形學: 是個很深的分支,圖形學算法,Dx9.0c,Dx11,HLSL ,OpenGL, GLSL ,GLUT,DXUT,DXGI。
D2D 比較重要,可以在C#裏實現D2D繪製控件! nuget庫裏有 winAPI所有封裝,D2D,DX11都可以在winfom 裏渲染的。
非託管的dll(C++對應的類型)
Attribute 如何遍歷,如何定義,反射的認識。 Field 跟 Property 的區別。Event,Delegate 多播委託 ,事件需要放置事件觸發處
如 int HP { set{ hp=value ; if( hp==0 ) Die(this ,new EventArgs); } get; }
創造力提高方面:程序架構設計方面: 各種哲學,各種原則,設計模式,命名約定,分層開發,多人協作開發。
算法方面: 這個也是冒泡排序,插入排序,桶排序。二叉樹,遍歷樹
數據庫: SQL,Update ,Truncate ,Select ,Where,Create View ,Create Transaction。
語法糖: Linq ,Plinq , lamdba ,ExpressionTree 。
還有 WCF , WebAPI定義+ 訪問!
學完這堆,我保證需要3年時間。。
還有 [Test] Attribute ,TestUnit的使用,幫助快速測試。 還有 Git 插件的使用!