C#强制类型转换

时间:2022-06-01 22:12:03

1.任何一门编程语言均有相关数据类型。C#也不例外,其基本数据类型有int,short,long,float,double,string等。数据类型之间可以相互转换。不过转换过程要注意小类型能转换成大类型,但大类型一般不能转换成小类型。如int型可以转换成float型,但float型不一定可以转换成int型,至少这在C,C++是这样,但在C#中明显有了改变,似乎微软公司也允许这样的形式存在了。例如:

double dbl_num=12345678910.456;
int k = (int) dbl_num ;//此处运用了强制转换

以上代码如果在C,C++中强制转换成int型,肯定会出错,但现在在C#中却不会出错了,不过转换后的值往往是溢出值,是不精通的。这点需要大家注意。

2.采用另一种方式转换类型,如int.parse(),int32.parse()等采用方法来转换.

如string str=”100″;

int i=int.Parse(str);

注意:str除掉引号的类型必须和*.Parse的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错”输入字符串的格式不正确.”

3.采用后缀式转换,如k.toString(),一般运用于字符串或日期等其它类型

int i=100;

string s=i.ToString();

4.采用Convert类来实现转换,该类基本支持所以类型之间的转换

string str=”100″;

int i = Convert.ToInt16(str);

注意:str除掉引号的类型必须和Convert.*的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错”输入字符串的格式不正确.”