为了账号安全,请及时绑定邮箱和手机立即绑定

var dog =dogCage.TakeOut();直接把值返回给了dog,dog算什么类型,可以直接输出吗

var dog =dogCage.TakeOut();直接把值返回给了dog,如果有多个值,dog能装下吗,还是只会存储最后一个值,dog能调用Dog类PrintName(),原理是什么

正在回答

2 回答

dog的类型是TakeOut()函数返回的类型,如果返回的是数组就可以储存多个值,

dog可以调用Dog类的PrintName(),是因为dog被动态定义为了Dog类(TakeOut()函数返回了Dog类)

2 回复 有任何疑惑可以回复我~
#1

FireWatch 提问者

非常感谢!
2017-08-04 回复 有任何疑惑可以回复我~

C#提供了三种类似功能的关键字:

object:所有类型的基类,可以存储任何类型,但不能调用其方法(强制转换后可以);对应编码阶段,由编码人员判定它的类型进行强转。

var:类型占位符,由编译器判定类型,用它定义的变量不用强制转换,可以调用方法。

dynamic:真正的动态类型,它的类型在运行是解析,可以使用方法(但是在编码时没有提示)。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

var dog =dogCage.TakeOut();直接把值返回给了dog,dog算什么类型,可以直接输出吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信