虽然VB.NET这款语言的结构清晰,代码简介灵活,但是操作性并不是很简单,在实际操作中还是会碰到各种各样的错误。那么今天我们就会为大家详细介绍一下有关VB.NET错误的一些解决方案,以帮助大家解决问题。
在做VB.NET开发时,出现了这么一个VB.NET错误:“从字符串“aa”到类型“Double”的转换无效”的错误。这是个操作数据库的函数,但数据库没有Double类型的字段,但是它却抛出这个错误来,真是奇怪。
后来逐行调试看了程序发现程序是错在一个数字型的变量和一个字符型的变量的连接上,现简化如下:
- Dim iTemp As Integer = 3
- Dim strTemp As String = "aa"
- Response.Write(strTemp + iTemp)
这样逻辑的语句我们在C#里经常写,在C#里书写如下:
- string strTemp = "aa";
- int iTemp = 3;
- Response.Write(strTemp + iTemp);
在C#里同样的程序却不会抛出这个“从字符串“aa”到类型“Double”的转换无效”的VB.NET错误。#t#
VB.NET 和C#到底相差在哪里呢?
一个字符串型的变量和一个数值型的变量相加,C#会将数值型的变量隐式转换成字符型的然后在将字符型的数据连接起来,可是同样的问题VB.NET却是将一个字符型的转化成数值型的,在这个转化过程中,系统会先将字符型的和数值型的都向更高精度的数据类型(Double)转化。但是整型的数据转化成Double的数据不会出问题,但是字符型的数据转化成Double型的就会出问题了,就会抛出那个“从字符串“aa”到类型“Double”的转换无效”的VB.NET错误了。
VB.NET中有连接运算符"&"和"+"
+ 加连接符 如果两个操作数为String就把这两个操作数连接成一个字符串,否则按加号处理。
& 连接符 将操作数据强行转换成String再进行连接运算。