C#学习笔记–变量类型的转换

  • C#学习笔记–变量类型的转换已关闭评论
  • 135 次浏览
  • A+
所属分类:.NET技术
摘要

转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。同种类型的转换:


变量类型的转化:

转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。

隐式转换:

同种类型的转换:

 //有符号  long——>int——>short——>sbyte long l = 1; int i = 1; short s = 1; sbyte sb = 1; //隐式转换 int隐式转换成了long //可以用大范围 装小范围的 类型 (隐式转换) l = i; //不能够用小范围的类型去装在大范围的类型 //i = l; l = i; l = s; l = sb; i = s; s = sb;  ulong ul = 1; uint ui = 1; ushort us = 1; byte b = 1;  ul = ui; ul = us; ul = b; ui = us; ui = b; us = b;  //浮点数  decimal    double——>float decimal de = 1.1m; double d = 1.1; float f = 1.1f; //decimal这个类型 没有办法用隐式转换的形式 去存储 double和float //de = d; //de = f; //float 是可以隐式转换成 double d = f;  //特殊类型  bool char string // 他们之间 不存在隐式转换 bool bo = true; char c = 'A'; string str = "123123"; //特殊类型  bool char string // 他们之间 不存在隐式转换 

不同类型的转换:

char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。

无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。

显示转换

  1. 括号强转(注意精度问题 范围问题)

    //有符号类型 int i=1; short s=(short)i; //无符号类型 byte b=1; uint ui=(uint)b; //浮点数 float f=1.5f; double d=1.5; f=(float)d; //无符号和有符号 //要保证正数 注意范围 int ui2=1; int i2=1; ui2=(uint)i2; //浮点和整型 i2=(int)1.25f; //char和数值类型 i2='A'; char c=(char)i2; 
  2. Parse方法

    //Parse转换 int i4=int.Parse("123"); float f4=float.Parse("12.3"); //注意类型和范围! 
  3. Convert法

    int a=Convert.ToInt32("12"); a=Convert.ToInt32("1.35f");//会四舍五入 a=Convert.ToInt32(true);//转为1 false转为0 

    注意:在Convert转换中变量以Int做标准,例如 INT16 为int,ToSingle为float

    ToDouble为double,ToBoolean为bool;

  4. 其它类型转换为string(调用ToString方式)

    string str=true.ToString();

    string str2=1.5f.ToString();