翼度科技»论坛 编程开发 .net 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
变量类型的转化:

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

同种类型的转换:
  1. //有符号  long——>int——>short——>sbyte
  2. long l = 1;
  3. int i = 1;
  4. short s = 1;
  5. sbyte sb = 1;
  6. //隐式转换 int隐式转换成了long
  7. //可以用大范围 装小范围的 类型 (隐式转换)
  8. l = i;
  9. //不能够用小范围的类型去装在大范围的类型
  10. //i = l;
  11. l = i;
  12. l = s;
  13. l = sb;
  14. i = s;
  15. s = sb;
  16. ulong ul = 1;
  17. uint ui = 1;
  18. ushort us = 1;
  19. byte b = 1;
  20. ul = ui;
  21. ul = us;
  22. ul = b;
  23. ui = us;
  24. ui = b;
  25. us = b;
  26. //浮点数  decimal    double——>float
  27. decimal de = 1.1m;
  28. double d = 1.1;
  29. float f = 1.1f;
  30. //decimal这个类型 没有办法用隐式转换的形式 去存储 double和float
  31. //de = d;
  32. //de = f;
  33. //float 是可以隐式转换成 double
  34. d = f;
  35. //特殊类型  bool char string
  36. // 他们之间 不存在隐式转换
  37. bool bo = true;
  38. char c = 'A';
  39. string str = "123123";
  40. //特殊类型  bool char string
  41. // 他们之间 不存在隐式转换
复制代码
不同类型的转换:
char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。
无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。
显示转换


  • 括号强转(注意精度问题 范围问题)
    1. //有符号类型
    2. int i=1;
    3. short s=(short)i;
    4. //无符号类型
    5. byte b=1;
    6. uint ui=(uint)b;
    7. //浮点数
    8. float f=1.5f;
    9. double d=1.5;
    10. f=(float)d;
    11. //无符号和有符号
    12. //要保证正数 注意范围
    13. int ui2=1;
    14. int i2=1;
    15. ui2=(uint)i2;
    16. //浮点和整型
    17. i2=(int)1.25f;
    18. //char和数值类型
    19. i2='A';
    20. char c=(char)i2;
    复制代码
  • Parse方法
    1. //Parse转换
    2. int i4=int.Parse("123");
    3. float f4=float.Parse("12.3");
    4. //注意类型和范围!
    复制代码
  • Convert法
    1. int a=Convert.ToInt32("12");
    2. a=Convert.ToInt32("1.35f");//会四舍五入
    3. a=Convert.ToInt32(true);//转为1 false转为0
    复制代码
    注意:在Convert转换中变量以Int做标准,例如 INT16 为int,ToSingle为float
    ToDouble为double,ToBoolean为bool;
  • 其它类型转换为string(调用ToString方式)
    string str=true.ToString();
    string str2=1.5f.ToString();



来源:https://www.cnblogs.com/TonyCode/archive/2023/10/08/17749674.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具