什么是强类型,什么是弱类型?哪种更好些?为什么?
强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有
好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语
言,如c++,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编
程语言,如javascript,vb等
强类型
string FirstName = PersonRow.FirstName;
我们拥有一个强类型行,并且我们知道FirstName属性是字符串类型。在此,不会出现杂乱的列名,而且也不存在杂乱的对象转换问题。编译器为我们作类型检查,并且我们可以继续进行其它任务而不必担心是否我们已经正确输入了列名。
string FirstName = myrow.("FirstName").ToString();
上面的DataRow就是非类型化的;结果,你必须以一个串形式作为你要查询的列名来存取这个值(或者,使用这个列集合中的列的索引值)。很可能,这个列真正存在。一个DataRow列的数据类型是对象;我们假定FirstName列的基本数据类型是字符串,但是,我们必须显式地把它转化成一个字符串以便使用它。如果列名发生变化(例如,你把它改为PersonFirstName),那么编译器是不能通知你的。
弱类型
VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言.
弱类型语言vbs:
a=1
b=a+"1"+"a" //结果是11a,这里 a 成了字符串
c=a+1 //结果是2 ,这里a则是数字型
强类型语言:c#
int a=2
string b=a.ToString()+"1"+"a" //21a
int c=a+1 //3

浙公网安备 33010602011771号