VB.NET錯誤解決方案總結
雖然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再進行連接運算。