什么是強類型和弱類型?


大家都知道在C#當中分為:值類型和引用類型 ,其實也就是:棧和堆。 托管在內存的方式不同而已。這里就不深入了。忘了,還有指針類型,這個太深刻,我也不明白 等高手指點中....

我們在日常的編程當中老是說強類型編程 不要弱類型編程。但我們使用的C#就是一個強類型語言。

但其實C#還是有弱類型的 如:DataTable這個就是典型的弱類型。但我還把Object 也當作弱類型來看待。

值類型分為:

bool ,byte ,char ,decimal,double,enum,float,int,long,sbyte,short,struct,uint,ulong,ushort

引用類型分為:

Class,Interface,Delegate,Object,String,Dynamic

那我們經常使用的Var呢 這個叫隱式類型也叫強類型變量。什么意思呢~其實就是根據上下文判斷推算到底什么強類型而已。

好了說了半天原理,切入主題。在我們日常編程當中,我們應該遵守這幾點:

1.盡量聲明類型屬於什么類型,不要這樣:object o=1; var o=1; 應該注意int o=1;  因為這樣可以調用很多強類型封裝的方法,很方便我們調用

2.盡量使用泛型類型做數組,這樣就可以規定必須什么類型才能加入,如list<int> l=new list<int>(){1,2,3,4};

3.不要到處用string 來代替 數字 日期 布爾值等,再需要的時候來強制轉換比如 sting a="1" int b=int.Parse(a); 這樣就屬於裝箱拆箱了, 還是遵守第1點吧

4.在使用類,接口,委托等的時候盡量使用約束 如:public interface IBaseService<T> where T : class,new()

大致就這么多,由於本人水平有限,希望路過的大牛指點一二,不慎感激!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM