C#中的object类型到底是什么概念,如何使用,有什么意义?
网上的答案都看过了,看不懂,本人只有C语言的基础,刚刚接触到面向对象的C#,麻烦大神详细解释。另外通过网上的信息,var类型和object类型有什么区别?...
网上的答案都看过了,看不懂,本人只有C语言的基础,刚刚接触到面向对象的C#,麻烦大神详细解释。另外通过网上的信息,var类型和object类型有什么区别?
展开
3个回答
展开全部
var关键字是C# 3.0开始新增的特性,称为推断类型 .
可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
至于object,是C#中所有类型的基类,你应该知道
也就是说所有类型最中继承于它,不管任何类型都可以转变成object,比如
object v = 1; object s = "s"; object o = new List<int>();
但是,object是引用类型,当你把值类型转化的时候,肯定会有装拆箱操作,影响效率,所以,还是用明确的变量类型比较好
可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
至于object,是C#中所有类型的基类,你应该知道
也就是说所有类型最中继承于它,不管任何类型都可以转变成object,比如
object v = 1; object s = "s"; object o = new List<int>();
但是,object是引用类型,当你把值类型转化的时候,肯定会有装拆箱操作,影响效率,所以,还是用明确的变量类型比较好
更多追问追答
追问
大神,能不能不要从别人那里拷过来,这个答案我早看过了
追答
0.0可这个是最标准的答案啊,说白点就是任何类型都是object~可以看做是无类型的,而var是自动把帮你判断类型,也就是实际上有类型的,由机器来判断类型。
展开全部
Object就是c#所有类的总类,比如咱们Object就是你祖宗,你的姓氏是不是从上一辈传下来的,所以你们家都有你老祖宗的同一属性就是姓!而Object他也有这一属性,对象回收方法呀等,其他类也只是继承了Object的这些属性,虽然c#的继承只能继承一个父类,但是你不能再继承父类时候丢掉你的姓氏,所以你继承父类的行为和属性并不影响你继承你祖宗的姓氏!不知道你懂不懂!首先声明没有其他意思
追问
不懂,反而被你绕糊涂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以理解为弱类型.
打个比方,当你拿不准这个方法传来的参数是int还是string的时候可以用object中转一下.
或者传来的不是C#里的基础类型,你不知道用什么去接收.就用object
打个比方,当你拿不准这个方法传来的参数是int还是string的时候可以用object中转一下.
或者传来的不是C#里的基础类型,你不知道用什么去接收.就用object
更多追问追答
追问
那不是和var一个作用了吗?
追答
object是C#里面的最低层的基础类型.他可以转为任何其他类型.
var我用的很少.他有点类似js里的var变量.属于弱类型,不需要转码的.
而object需要转码.
建议纯C#代码(不和html,js,excel中vb等交互的情况下)建议用object.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询