2009-07-20 63 views
0
bitNot = (sbyte)(~bitNot) 

VS.bitNot =(sbyte)(〜bitNot)VS. myInt = Int32.Parse(myInput);

myInt = Int32.Parse(myInput); 

你好,我是以上兩種說法有點糊塗了......好像這兩個語句正試圖轉換,但爲什麼是第一個語法BITNOT =(爲sbyte)(〜BITNOT)聲明? 爲什麼我們不能像第二條語句中的語法那樣使用bitNot = sbyte.Parse(〜bitNot)?由於

+0

第一個語句將一個sbyte的所有位取反,另一個將一個字符串解析爲一個整數。這兩個陳述之間的聯繫是什麼? – nos 2009-07-20 00:56:25

回答

3

第一條語句需要bitNot,這大概是某種形式的整數,反轉所有位,將它轉換成一個sbyte,並在bitNot

第二條語句需要myInput結果存回,這是最可能是某種類型的字符串,將其從人類可讀形式解析爲Int32類型,並將其存儲在myInt中。

主要區別在於您正在操作的類型;如果你正在處理字符串,你只需要Parse。在第一個聲明中,轉換操作正在完成;例如,這通常意味着從32位整數轉換爲8位整數。這是一種非常不同的操作。