C#强类型化是什么

如题所述

一直说C#是强类型语言,通俗地讲,便是指C#中的“变量”在开发时的类型便是明确的:String便是String,Int32就是Int32,毫无争议。强类型的好处有很多,举上几例:

    能够享受代码提示功能

    能够获得重构工具的支持

    能够在编译期发现更多错误

不过C#也不是“绝对”的强类型语言,因为它也有弱类型,那就是Object。Object是所有类型的最终基类,任何类型的对象都可以使用Object来引用。可是一旦转化成Object的变量之后,代码提示便消失了;即使“明确”对象的确切类型,也必须通过Cast才能使用——更何况它形成了一种被“滥用”或“误用”的机会。例如一段错误代码可能会传入一个不符合约定类型的对象,那么就会造成错误。更严重的是,这样的错误可能只要在“运行时”才能被发现,编译器对此无能为力。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-24
1,每一种程序设计语言都提供一定的类型检查,类型检查可以在编译时进行,也可以在运行时进行,分别称做静态类型检查和动态类型检查。
2,由于静态类型的检查是在编译时进行,实现比较容易,能提高程序的运行效率,而动态检查正好相反,它要在程序运行时为每个数据对象保留一个数据类型的标记,仅当变量和数据类型正确时才执行相应的操作,否则报错,所以实现不容易,效率也较,
3,如何编译程序对语言的实现效率有很大的影响,因此引出了强类型的概念,比较全面的定义是:
a.每个变量都能在编译时确定唯一的类型
b.当变量允许存储1个以上类型的值时,也可以对值进行检查
c.对于某种运算连接在一起的两个变量的所有实例都要进行静态类型检查,看它们是否一致.根据这个标准我们知道c#是具有强类型特性的语言。
说到底就是能在编译时先检查一下,比较好控制数据出错的情况本回答被提问者和网友采纳
第2个回答  2012-08-06
就是每个变量在使用前,必须显示的指定类型。
第3个回答  2012-08-03
百度一下吧有列子,说不清楚,
相似回答