这几天机房合作,类型转换总是出现问题,看的自己有点懵,把自己学习的知识整理了下
一、首先说一下类型转换:
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:
隐式类型转换 :这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
显式类型转换 :显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
二、再说说类型转换的方法:
C#提供了很多内置的转换方法,在这里简单的整理了下:
类型转换 | |
方法 | 描述 |
ToDateTime | 把类型(整数或字符串类型)转换为 日期-时间 结构。 |
ToDecimal | 把浮点型或整数类型转换为十进制类型。 |
ToDouble | 把类型转换为双精度浮点型。 |
ToBoolean | 如果可能的话,把类型转换为布尔型。 |
ToByte | 把类型转换为字节类型。 |
ToChar | 如果可能的话,把类型转换为单个 Unicode 字符类型。 |
ToInt16 | 把类型转换为 16 位整数类型。 |
ToInt32 | 把类型转换为 32 位整数类型。 |
ToInt64 | 把类型转换为 64 位整数类型。 |
ToSbyte | 把类型转换为有符号字节类型。 |
ToSingle | 把类型转换为小浮点数类型。 |
ToString | 把类型转换为字符串类型。 |
ToType | 把类型转换为指定类型。 |
ToUInt16 | 把类型转换为 16 位无符号整数类型。 |
ToUInt32 | 把类型转换为 32 位无符号整数类型。 |
ToUInt64 | 把类型转换为 64 位无符号整数类型。 |
三、最后再说一个int与string的相互转换,这个问题当时卡了我好久,下面举个例子说
1.int→string
int a = 15;
string s1 = a.ToString();
string s2 = Convert.ToString(a);
2.string→int
string s = "18";
int a1 = int.Parse(s);
int a2;
int.TryParse(s, out, a2);
int a3 = Convert.ToInt32(s);
总结下:
1.可以使用Convert对int,string进行来回转化,还可以指定转换进制
2.转化为string,可以用ToString方法
3.转化为int,可以使用int.TryParse或者int.Parse方法