隐式类型转换
数据类型在一定条件下是可以相互转换的,如将int类型数据转换成double类型的数据。
在C#中,类型转换就是将一个数据类型的值转换为另一个数据类型的过程。
C#中允许两种转换方式:隐式类型转换和显式类型转换(也称为强制类型转换)
隐式转换是指将一个较小范围的数据转换为较大范围的数据类型时,编译器会自动完成类型转换,隐式转换是系统默认的,不需要加以声明就可以进行转换,以安全方式进行的转换,不会导致数据丢失。
例如:
- 从小的整数类型转换为大的整数类型,从派生类转换为基类。将一个byte类型的变量赋值给int类型的变量,编译器会自动将byte类型转换为int类型,不需要显示转换。
-
int a=10; long b=20; b=a;//隐式转换,不需要显式转换
-
将一个整数赋值给一个长整数,或者将一个浮点数赋值给一个双精度浮点数,这种转换不会导致数据丢失。
-
如果说是一个小盒子转给大盒子,可以隐式转换,其他默认不可以
-
String谁都转不了
-
int intValue=42; long longValue=intValue;//隐式转换,从int到long
-
强制转换Parse
-
int a=10; double b=20; //Parse转换有局限性 //Parse要转换的类型.Parse(要转换的值); double b=double. Parse(a); Console. WriteLine(b); //只能把String类型转换成相对应的值
-
简单类型
-
int a=10; doble b=20.6; a=(int)b;//不是四舍五入
显式转换
显示转换又称为强制类型转换,与隐式转换相反,显示转换需要用户明确的指定转换类型,一般在不存在对于该类型的隐式转换的时候才使用。
Parse();
//(类型)要转换的值
Covert()
//其他类型转换为String类型
To String方法
例如:
int j=5*8;
String str="5*8的积是:"+j.Tostring();
把String类型转换成其他类型
int a=10;
string b="220";
a=int.Parse(b);
Console.WriteLine(a);
把其他类型转换成String类型
变量.ToString();
ToString所有类型都带,是object提供的一个方法
int a=110;
String b=a.ToString();
Console.WriteLine(b);
char c='a';
b=c.ToString();
Console.WriteLine(b);
double d=10.1;
b=d.ToString();
Console. WriteLine(b);
bool f = true;
b = f.ToString();
Console.WriteLine(b);
+""代替ToString()
int a=110;
String b=a+"";
Console.WriteLine(b);
//Convert.To你要转换的类型(要换的值);
//framework:没有进行格式化
//core:进行格式化
//转int
string a = "10";
int b=Convert.ToInt32(a);
//double,string→double
string a = "5.4";
double b=Convert.ToDouble(a);
Console.WriteLine(b);
//double→int遵循四舍五入
double a = 10.1;
int d = Convert.ToDouble(a);
Console.WriteLine(d);
a = 10.5;//10
d = Convert.Toint32(a);
Console.WriteLine(d);
//int→String
int a = 10;
String b = Convert.ToString(a);
Console.WriteLine(b);
C#类型转换方法
1 | ToBoolean 如果可能的话,把类型转换为布尔型 |
2 | ToByte 把类型转换为字节型 |
3 | ToChar 如果可能的话,把类型转换为单个Unicode字符类型 |
4 | ToDateTime 把类型(整数或字符串类型)转换为日期-时间结构 |
5 | ToDecimal 把浮点型或整数类型转换为十进制类型 |
6 | ToDouble 把类型转换为双精度浮点型 |
7 | ToInt16 把类型转换为16位整数类型 |
8 | ToInt32 把类型转换为32位整数类型 |
9 | ToInt64 把类型转换为64位整数类型 |
10 | ToSbyte 把类型转换为有符号字节类型 |
11 | ToSingle 把类型转换为小浮点数类型 |
12 | ToString 把类型转换为字符类型 |
13 | ToType 把类型转换为指定类型 |
14 | ToUInt16 把类型转换为16位无符号整数类型 |
15 | ToUInt32 把类型转换为32位无符号整数类型 |
16 | ToUInt64 把类型转换为64位无符号整数类型 |