>加入收藏
>意见留言
>联系我们
会员登录
投递文章
首 页
|
新闻资讯
|
软件应用
|
图形图像
|
网络应用
|
硬件学堂
|
程序开发
|
安全中心
|
素材下载
最新推荐:
您的位置:
IT频道
>
程序开发
>
微软开发区
> 文章内容
随机推荐
热门文章TOP10
·[
微软开发区
]
.Net网站独立配置文件读写方案
·[
微软开发区
]
VB入门教程之二
VB.net 和C# 字符串连接的小区别
[ 来源:博客网 ] [ 作者: ][ 时间:2007-11-08 ] 字体:[
大
中
小
]
最近在做一个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 和 C#到底相差在哪里呢?
一个字符串型的变量和一个数值型的变量相加,C#会将数值型的变量隐式转换成字符型的然后在将字符型的数据连接起来,可是同样的问题VB.net却是将一个字符型的转化成数值型的,在这个转化过程中,系统会先将字符型的和数值型的都向更高精度的数据类型(Double)转化。但是整型的数据转化成Double的数据不会出问题,但是字符型的数据转化成Double型的就会出问题了,就会抛出那个“从字符串“aa”到类型“Double”的转换无效”的错误了。
大泗县 网,www.daSixian.com
错误原因是找到了,但是不知为什么VB.net 和 C#在处理这件事的时候不一样?有时间一定好好的研究一下。
发布者:
上一篇:
.Net网站独立配置文件读写方案
下一篇:
VB入门教程之二
评论列表
评论加载中…
大泗县网站
IT频道
后来逐行调试看了程序发现程序是错在一个数字型的变量和一个字符型的变量的连接上,我就不贴出原程序了,现简化如下:
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 和 C#到底相差在哪里呢?
一个字符串型的变量和一个数值型的变量相加,C#会将数值型的变量隐式转换成字符型的然后在将字符型的数据连接起来,可是同样的问题VB.net却是将一个字符型的转化成数值型的,在这个转化过程中,系统会先将字符型的和数值型的都向更高精度的数据类型(Double)转化。但是整型的数据转化成Double的数据不会出问题,但是字符型的数据转化成Double型的就会出问题了,就会抛出那个“从字符串“aa”到类型“Double”的转换无效”的错误了。
错误原因是找到了,但是不知为什么VB.net 和 C#在处理这件事的时候不一样?有时间一定好好的研究一下。
评论列表