C#类型转换

隐式类型转换

数据类型在一定条件下是可以相互转换的,如将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#类型转换方法

1ToBoolean 如果可能的话,把类型转换为布尔型
2ToByte 把类型转换为字节型
3ToChar 如果可能的话,把类型转换为单个Unicode字符类型
4ToDateTime 把类型(整数或字符串类型)转换为日期-时间结构
5

ToDecimal 把浮点型或整数类型转换为十进制类型

6ToDouble 把类型转换为双精度浮点型
7ToInt16 把类型转换为16位整数类型
8ToInt32  把类型转换为32位整数类型
9ToInt64  把类型转换为64位整数类型
10ToSbyte  把类型转换为有符号字节类型
11ToSingle 把类型转换为小浮点数类型
12ToString  把类型转换为字符类型
13ToType  把类型转换为指定类型
14ToUInt16 把类型转换为16位无符号整数类型
15ToUInt32 把类型转换为32位无符号整数类型
16ToUInt64 把类型转换为64位无符号整数类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值