收藏本站 
广告服务 
网站地图 
>> 为你提供近10万篇各类电脑技术文章、网络技术教程、软件技术文章、网页设计教程、平面设计教程、数据库技术教程等方面的电脑教程!
先飞电脑技术网技术文章网络编程ASP.Net
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

VB.NET和C#字符串连接的小区别

[ 作者:佚名    转贴自:网络转载    阅读次数:40    更新时间:2007-11-13 12:04:00   录入:刘光勇 ]        
    最近在做一个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”的转换无效”的错误了。

  错误原因是找到了,但是不知为什么VB.net 和 C#在处理这件事的时候不一样?有时间一定好好的研究一下。
文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“VB.NET和C#字符串连接的小区别”版权归文章所有者,转载请注明出处!
 ·上一篇文章:Asp.Net输出数据到EXCEL表格中      ·下一篇文章:ASP.NET备份恢复Sql Server数据库
相关文章
·VbScript实现计算机的关闭或重启[93]
·VB.NET和C#字符串连接的小区别[40]
·ASP开发中的(VBScript)类基础学习[20]
·面向VB开发人员的ASP.NET 2.0简介[40]
·VB编程取得 Windows 用户ID方法[37]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 隐私政策 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网