C#中,string和String ,decimal和Decimal,int和Int32……

gavinkeith 2013-11-05 10:52:05
C#中,string和String ,decimal和Decimal,int和Int32有什么区别?
...全文
536 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-11-05
  • 打赏
  • 举报
回复
引用 4 楼 happy09li 的回复:
http://www.alixixi.com/program/a/2008050727404.shtml


是这样的,如果你编写FCL那样的公共类库,你应该使用CLS类型,如上图所示,CLS是所有编程语言都支持的。如果你编写C#程序,你应该充分使用C#支持的类型(否则C#支持CLS以外的类型起个什么劲?),比如说,CLS中只有Int32,但是没有uint。

这篇文章说推荐使用“使用CLR默认的类型”,但是后面等同于使用大写的类型,这纯属断章取义。应该这么说,恰恰相反,你应该尽量使用编程语言的关键字,这不影响你使用CLR的类型,使用语言的关键字,这样更美观自然。更重要的是,这样可以更好地实现程序代码的移植。当然,C#只有IL的实现,但是C++、Pascal/Delphi、Java(J++)、Javascript等等既可以面向IL,又可以面向其它平台的语言,如果你使用语言本身的关键字,你的代码可以直接利用到别的项目中,如果你使用的是System.Object System.Int32,你怎么移植呢?
threenewbee 2013-11-05
  • 打赏
  • 举报
回复
引用 2 楼 q107770540 的回复:
一个是C#类型,一个是CLR类型 建议看看<CLR VIA C#>一书,里边讲的比较清楚, 此书作者建议编程时多用CLR类型
糖糖说得很好,补充下,.NET框架有2套类型系统,CLS和CTS。 它们和CLR以及语言定义的类型的关系看这个图:
threenewbee 2013-11-05
  • 打赏
  • 举报
回复
对于初学者,你只要记得两者一样,推荐用小写的表示法就可以了。
  • 打赏
  • 举报
回复
string 是c#语言的关键字,属于语言规范的范畴。 String是.net FCL(类库)中一种数据类型。
gavinkeith 2013-11-05
  • 打赏
  • 举报
回复
哪一个是C#类型,哪一个是CLR类型?这两种类型有什么差别呢?
q107770540 2013-11-05
  • 打赏
  • 举报
回复
一个是C#类型,一个是CLR类型 建议看看<CLR VIA C#>一书,里边讲的比较清楚, 此书作者建议编程时多用CLR类型
  • 打赏
  • 举报
回复
一个是关键字,一个是类名 其实是一样一样的,只是个别名
leujunbao 2013-11-05
  • 打赏
  • 举报
回复
引用 9 楼 gavinkeith 的回复:
[quote=引用 7 楼 caozhy 的回复:] [quote=引用 2 楼 q107770540 的回复:] 一个是C#类型,一个是CLR类型 建议看看<CLR VIA C#>一书,里边讲的比较清楚, 此书作者建议编程时多用CLR类型
糖糖说得很好,补充下,.NET框架有2套类型系统,CLS和CTS。 它们和CLR以及语言定义的类型的关系看这个图: [/quote] 您好!你是否有CLR VIA C# 这本书的中文版呢?有的话,能否分享一下。我的邮箱:gavin7840096@163.com 谢谢[/quote] 想学习就不能去买一本书?不能尊重下别人的劳动成果?
老秋先生 2013-11-05
  • 打赏
  • 举报
回复
没有区别。 C#里面提供的int、string、decimal并不是关键字,而是String、Int32、Decimal的别名,通过“int.“”你就能看到Int32的所有方法,或许你知道了什么。。。。
风之影子 2013-11-05
  • 打赏
  • 举报
回复
一个是C#类型,一个是CLR类型 真是简明啊。 在此也说一下CTS的重要性。 对于.net的学习者,一定要花时间去了解框架体系。
threenewbee 2013-11-05
  • 打赏
  • 举报
回复
引用 9 楼 gavinkeith 的回复:
[quote=引用 7 楼 caozhy 的回复:] [quote=引用 2 楼 q107770540 的回复:] 一个是C#类型,一个是CLR类型 建议看看<CLR VIA C#>一书,里边讲的比较清楚, 此书作者建议编程时多用CLR类型
糖糖说得很好,补充下,.NET框架有2套类型系统,CLS和CTS。 它们和CLR以及语言定义的类型的关系看这个图: [/quote] 您好!你是否有CLR VIA C# 这本书的中文版呢?有的话,能否分享一下。我的邮箱:gavin7840096@163.com 谢谢[/quote] www.google.com
gavinkeith 2013-11-05
  • 打赏
  • 举报
回复
引用 7 楼 caozhy 的回复:
[quote=引用 2 楼 q107770540 的回复:] 一个是C#类型,一个是CLR类型 建议看看<CLR VIA C#>一书,里边讲的比较清楚, 此书作者建议编程时多用CLR类型
糖糖说得很好,补充下,.NET框架有2套类型系统,CLS和CTS。 它们和CLR以及语言定义的类型的关系看这个图: [/quote] 您好!你是否有CLR VIA C# 这本书的中文版呢?有的话,能否分享一下。我的邮箱:gavin7840096@163.com 谢谢

110,566

社区成员

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

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

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