日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C#Convert.ToInt32簡介

比如說有一個string型的3,要給它轉換成int型的是用(int)3,還是用C# Convert.ToInt32(3);還是兩個都可以用,為什么?

創(chuàng)新互聯建站是一家專注于成都網站設計、成都做網站與策劃設計,茂南網站建設哪家好?創(chuàng)新互聯建站做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:茂南等地區(qū)。茂南做網站價格咨詢:18980820575

解答:這兩個都是轉換成整型的,只是它們的長度不同。int為16位的,而下面的那個是32位的

首先,我要指出的是,在C#中,int其實就是System.Int32,即都是32位的。

其次,(int)和C# Convert.ToInt32是兩個不同的概念,前者是類型轉換,而后者則是內容轉換,它們并不總是等效的。我們很清楚C#提供類型檢查,你不能把一個string強制轉換成int,隱式轉換就更加不可能,例如如下的代碼就行不通了:

 
 
 
  1. string text = "1412";  
  2. int id = (int)text;  

因為string和int是兩個完全不同并且互不兼容的類型。說到這里,你可能會問什么才算是兼容的呢?其實,能夠使用(int)進行強類型轉換的只能是數值類型了,例如long、short、double等,不過進行這種轉換時你需要考慮精度問題。

然而,我們很清楚上面的代碼中text實際上儲存的是一個數值,我們希望把這個數值提取出來并以int的形式儲存起來以便日后的運算使用,那么你就需要進行內容轉換了。內容轉換也叫內容解釋,我們把上面的代碼稍稍修改就可以達到目的了:

 
 
 
  1. string text = "1412";  
  2. int id = Convert.ToInt32(text);  

除此之外,你還可以使用Int32.Parse和Int32.TryParse來進行解釋。

另外,你發(fā)現C# Convert.ToInt32有很多重載版本,例如C# Convert.ToInt32(doublevalue);,當我們用這個版本來把一個double轉換成int時,ToInt32會檢查被轉換的數值是否能夠用int表示,即是否會發(fā)生“越界”,如果是就會拋出OverflowException,否則就會為你轉換,但使用(int)進行強制轉換,如果被轉換的數值大于Int32.MaxValue,那么你將得到一個錯誤的結果,例如下面的代碼:

 
 
 
  1. double d = Int32.MaxValue + 0.1412;  
  2. int i = (int)d;  

不過無論你進行什么數值轉換,精度問題都是必須考慮的。


當前標題:C#Convert.ToInt32簡介
網站地址:http://m.5511xx.com/article/cocssds.html