var dog =dogCage.TakeOut();直接把值返回給了dog,dog算什么類型,可以直接輸出嗎
var dog =dogCage.TakeOut();直接把值返回給了dog,如果有多個(gè)值,dog能裝下嗎,還是只會存儲最后一個(gè)值,dog能調(diào)用Dog類PrintName(),原理是什么
var dog =dogCage.TakeOut();直接把值返回給了dog,如果有多個(gè)值,dog能裝下嗎,還是只會存儲最后一個(gè)值,dog能調(diào)用Dog類PrintName(),原理是什么
2017-08-02
舉報(bào)
2017-08-03
dog的類型是TakeOut()函數(shù)返回的類型,如果返回的是數(shù)組就可以儲存多個(gè)值,
dog可以調(diào)用Dog類的PrintName(),是因?yàn)閐og被動態(tài)定義為了Dog類(TakeOut()函數(shù)返回了Dog類)
2017-08-03
C#提供了三種類似功能的關(guān)鍵字:
object:所有類型的基類,可以存儲任何類型,但不能調(diào)用其方法(強(qiáng)制轉(zhuǎn)換后可以);對應(yīng)編碼階段,由編碼人員判定它的類型進(jìn)行強(qiáng)轉(zhuǎn)。
var:類型占位符,由編譯器判定類型,用它定義的變量不用強(qiáng)制轉(zhuǎn)換,可以調(diào)用方法。
dynamic:真正的動態(tài)類型,它的類型在運(yùn)行是解析,可以使用方法(但是在編碼時(shí)沒有提示)。