2009-07-20 65 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位整数。这是一种非常不同的操作。