猿问

为什么在C#中可以直接使用1,100这些整型?

今天突然在想,1,2,3,100这些整数,是在C#中定义了吗?为什么能够直接使用呀.

比如,

100.ToString()

var temp = 1000

但是我看C#中Int32的定义,也只是写了一个最小值和最大值,

还是不太明白.

难道是编码?

C# Int32 源码

眼眸繁星
浏览 556回答 5
5回答

慕妹3242003

最小值和最大值是const的,也就是所谓的静态变量。ToString()是成员函数,1,2,3,100分别都是Int32的实例,实例当然就可以访问成员函数啦。

慕哥9229398

这点也是C#比Java高明的地方,值类型也可以调用方法

冉冉说

同样的你可以问为什么C/Java等等各种语言里为什么能直接用123? 因为是各自的语言规范规定的,对代码进行解析的时候,遇到符合整数定义的字符串(例如123),就把它解析成整形。

米琪卡哇伊

C# 有隐式装箱的机制

潇潇雨雨

就像Swift的extension吧,对类型进行扩展。
随时随地看视频慕课网APP

相关分类

Java
我要回答