面試必備:什么是強(qiáng)類型,什么是弱類型?
簡(jiǎn)答:
強(qiáng)類型是在編譯的時(shí)候就確定類型的數(shù)據(jù),在執(zhí)行時(shí)類型不能更改,而弱類型在執(zhí)行的時(shí)候才會(huì)確定類 型。沒有好不好,二者各有好處,強(qiáng)類型安全,因?yàn)樗孪纫呀?jīng)確定好了,而且效率高。一般用于編譯 型編程語言,如c++,java,c#,pascal等,弱類型相比而言不安全,在運(yùn)行的時(shí)候容易出現(xiàn)錯(cuò)誤,但它靈活, 多用于解釋型編程語言,如javascript等。
C#版詳解:
我們?cè)谌粘5木幊坍?dāng)中老是說強(qiáng)類型編程 不要弱類型編程。但我們使用的C#就是一個(gè)強(qiáng)類型語言。
但其實(shí)C#還是有弱類型的 如:DataTable這個(gè)就是典型的弱類型。但我還把Object 也當(dāng)作弱類型來看待。
值類型分為:
bool ,byte ,char ,decimal,double,enum,float,int,long,
sbyte,short,struct,uint,ulong,ushort
引用類型分為:
Class,Interface,Delegate,Object,String,Dynamic
那我們經(jīng)常使用的Var呢 這個(gè)叫隱式類型也叫強(qiáng)類型變量。什么意思呢~其實(shí)就是根據(jù)上下文判斷推算到底什么強(qiáng)類型而已。
好了說了半天原理,切入主題。在我們?nèi)粘>幊坍?dāng)中,我們應(yīng)該遵守這幾點(diǎn):
1.盡量聲明類型屬于什么類型,不要這樣:object o=1; var o=1; 應(yīng)該注意int o=1;? 因?yàn)檫@樣可以調(diào)用很多強(qiáng)類型封裝的方法,很方便我們調(diào)用
2.盡量使用泛型類型做數(shù)組,這樣就可以規(guī)定必須什么類型才能加入,如list<int> l=new list<int>(){1,2,3,4};
3.不要到處用string 來代替 數(shù)字 日期 布爾值等,再需要的時(shí)候來強(qiáng)制轉(zhuǎn)換比如 sting a="1" int b=int.Parse(a); 這樣就屬于裝箱拆箱了, 還是遵守第1點(diǎn)吧
4.在使用類,接口,委托等的時(shí)候盡量使用約束 如:public interface IBaseService<T> where T : class,new()
引用地址:https://www.cnblogs.com/flyfish2012/archive/2013/01/30/2882528.html
版權(quán)申明:本文來源于網(wǎng)友收集或網(wǎng)友提供,如果有侵權(quán),請(qǐng)轉(zhuǎn)告版主或者留言,本公眾號(hào)立即刪除。
支持小微:
騰訊云 搞活動(dòng)了?玩服務(wù)器的可以搞搞。就這幾天時(shí)間。
輕量?1C2G 50GB SSD盤 255元/3年
鏈接:https://curl.qcloud.com/qINmPBX9
618京享紅包,搶紅包,購(gòu)?fù)纯靱每天領(lǐng)3次,最高18618元
領(lǐng)取地址:https://u.jd.com/zASOO0P
26.0復(fù)制整段話 http://JCn8PC9iaDIopF搶紅包,購(gòu)?fù)纯靱最高18618元紅包等你來!#v0BiQAnEUb@萊/京東/AΡΡヤ
右下角,您點(diǎn)一下在看圖片
小微工資漲1毛
商務(wù)合作QQ:185601686
