C#当中 int等是对象吗?不然怎么会有toString方法?

hgaoping 2007-11-02 09:06:11
int a = 5;
a.ToString() 怎么这样呢?

a不是基本的数据类型吗?
...全文
369 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apollo_pl 2007-11-02
  • 打赏
  • 举报
回复
int是结构(struct),是值类型,也是对象,也是基本数据类型。
c#所有都继承自object
vwxyzh 2007-11-02
  • 打赏
  • 举报
回复
在未装箱的情况下,值类型不继承任何类型,装箱的情况下值类型才会继承ValueType或者Enum,并实现其它接口
[原文:In their unboxed form value types do not inherit from any type. Boxed value types shall inherit directly from System.ValueType unless they are enumerations, in which case, they shall inherit from System.Enum. Boxed value types shall be sealed.
摘自:Common Language Infrastructure(CLI) Partition I: Concepts and Architecture Final Draft, Apr 2005 第42页]
hgaoping 2007-11-02
  • 打赏
  • 举报
回复
太奇怪了,看来,不同的编程语言多没有规律可寻。我发现js本身的设计也就有些特殊,我在学习的时候,一直想在不同的语言当中建立一个比较合理的规律,但多失败了

yzl495 2007-11-02
  • 打赏
  • 举报
回复
这个涉及到装箱与拆箱问题
王集鹄 2007-11-02
  • 打赏
  • 举报
回复
123.ToString();
Text = (123 + 456).ToString();

不光是整数是对象,类本身也是对象

object o = typeof(TextBox);
Text = o.ToString();

要相信自己测试的结果
沉默的糕点 2007-11-02
  • 打赏
  • 举报
回复
nt 并不直接继承object 而是 ValueType 类 ValueType类继承于object
LZ是不是学习其他语言学惯了,语法会用就行 深究的话 你知道也没用 细节以后会慢慢体会到
你会汇编的话 可以看看CLI语言 那你就会语法所有的细节了
--------------------------------------
正解
wdzr_826 2007-11-02
  • 打赏
  • 举报
回复
int是结构(struct),是值类型,也是对象,也是基本数据类型。
c#所有都继承自object
object有3个虚方法Equals,GetHashCode,ToString。1个方法GetType。2个静态方法Equals,ReferenceEquals

这些是所有数据类型都有的。也就是说任何数据类型都有ToString()
viena 2007-11-02
  • 打赏
  • 举报
回复
Int32结构,谁告诉你只有对象才有方法?
li45214521 2007-11-02
  • 打赏
  • 举报
回复
int 并不直接继承object 而是 ValueType 类 ValueType类继承于object
LZ是不是学习其他语言学惯了,语法会用就行 深究的话 你知道也没用 细节以后会慢慢体会到
你会汇编的话 可以看看CLI语言 那你就会语法所有的细节了
leongwong 2007-11-02
  • 打赏
  • 举报
回复
学习!
Ivony 2007-11-02
  • 打赏
  • 举报
回复
基元类型具备普通类型所有的一切特性。
tillere007 2007-11-02
  • 打赏
  • 举报
回复
高手!
xwk789xwk 2007-11-02
  • 打赏
  • 举报
回复
基本东西是要搞懂的,不搞懂你是老学不深的
int是基本数据类型,但它继承自object类型,当然就有ToString()方法了 解释的不错
hgaoping 2007-11-02
  • 打赏
  • 举报
回复
我从javascript里面看到类似的解释

叫什么闭包?

呵呵

这是不是跟C#里面的封装一个道理呢?

我查了查,int类型是结构的

而js那叫基本的数据类型...

真是烦死了,很多人多叫我不要去注重这些语法的东西,但是我是初学呀,我不去理解每一个语法的细节,我怎么拿来编程?
symbol441 2007-11-02
  • 打赏
  • 举报
回复
int是基本数据类型,但它继承自object类型,当然就有ToString()方法了
lishuiqing 2007-11-02
  • 打赏
  • 举报
回复
是基本类型,但是一样的也有这个方法,不同于java。
不要注重这些“语法”!!

111,083

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧