C _CLI基本数据类型探索
文章作者 100test 发表时间 2007:03:10 16:57:10
来源 100Test.Com百考试题网
C /CLI所支持的基本类型,例如int、double、bool等,在某些方面可以说是沿袭了ISO-C 中的类型——同样的用法会在C /CLI中得到同样的结果,例如加法或者赋值操作。但是C /CLI也为这些基本类型引入了一些新的东西。
在通用类型系统(CTS)中,每一个基本类型都在System命名空间中存在一个对应的类(见表1)。例如int实际上完全等价于System::Int32。我们可以使用二者中的任何一个来声明一个整数:
int ival = 0.
Int32 ival2 = 0.
出于移植性的考虑,在使用这些基本类型时,我们推荐大家使用内建的关键词,而非System命名空间中的类名。
对于System命名空间中类的公有静态成员,我们既可以通过内建的关键字,也可以通过System命名空间中的类名来访问。例如,为了获取一个数值类型的取值范围,我们可以直接使用内建的关键字来访问其静态属性MaxValue和MinValue。
int imaxval = int::MaxValue.
int iminval = Int32::MinValue.
每个数值类型都支持一个名为Parse的成员函数,用以将一个字符串转化为其所表示的数值。例如,给定下面的字符串:
String^ bonus = "$ 12,000.79".
调用Parse会将myBonus初始化为12000.79:
double myBonus = double::Parse( bonus, ns ).
其中ns表示对一些NumberStyles枚举类型取位或(bitwise or)运算的结果。NumberStyles是位于System::Globalization命名空间中的一个枚举类型,用于表征对空白、货币符号、小数点或者逗号等的处理。看下面的代码:
using namespace System.
using namespace System::Globalization.
double bonusString( String^ bonus )
{
NumberStyles ns = NumberStyles::AllowLeadingWhite.
ns = NumberStyles::AllowCurrencySymbol.
ns = NumberStyles::AllowThousands.
ns = NumberStyles::AllowDecimalPoint.
return double::Parse( bonus, ns ).
}