CSharp 类型转换

类型转换
         
      隐式转换:
                  隐式转换就是由编译器自动转换类型,一般都是低精度类型转换到高精度类型中
      (精度的高低就是类型范围的大小,比如int 类型精度比 float 类型精度低)
 
      特点 :  隐式转换不会造成数据丢失!
   
  显式转换:
      显示转换就是由程序员用方法对数据类型进行强制转换,一般都是隐式转换无法达到需求的时候使用
      
      特点: 强制转换会造成数据丢失
 
      注意:  进行强制转换的时候一定要表面上过得去,
            不能将一个string类型的23.5转换成int类型,但可以转换成double 或者float 等类型;
    1.使用Convert类进行强制转换
       语法:
         Convert.转换的类型(被转换的变量);
 
        char _num5 = Convert.ToChar( "A");
          int _num3= Convert.ToInt32( "13");
             double _num5 = Convert.ToDouble( "13.5");
 
    2.使用 (类型)变量名 进行强制转换
       语法:     
         (类型)变量名;
 
       <1>  float num = 15.6f;   该转换丢失了一部分数据
           int num1 = ( int)num;
 
       <2>  double  _dou = 13.5;
         float _num = ( float)_dou;
    
    3.使用变量.ToString();可以将任何类型转换为string类型
        语法:
           变量名.ToString();
        
        注意:使用该方法可以将任何类型转换成为string类型,
           也就是说任何类型都有.ToString();这个方法.      
       <1>  int num5 = 15;
          string str1 = num5.ToString();
 
       <2>   bool isOk = true;
         string str2 = isOk.ToString();
 
       <3>  char _A = 'A';
           string str3 = _A.ToString();
   
    4.Parse的类型转换
       语法:
         类型.Parse(string类型的变量);
       
       注意:Parse可以将string类型转换成其他任何类型
        <1> string _str = "123";
            int num = int.Parse(_str);
 
        <2>  string _str1 = "true";
            bool yesNo = bool.Parse(_str1);
 
        <3>  string _str2 = "B";
            char _b = char.Parse(_str2 );
 
 
代码展示 
using System;
namespace 第九章类型转换
{
    class Program
    {
        static void Main( string[] args)
        {
            // 类型转换
  #region 隐式转换
            //隐式转换就是由编译器自动转换类型,一般都是低精度类型转换到高精度类型中
            //(精度的高低就是类型范围的大小,比如int 类型精度比 float 类型精度低)
            //特点:  隐式转换不会造成数据丢失
            //定义一个int类型的变量
            int _num = 5;
            //在这里就是隐式转换,有int类型转换成float类型
            float _num2 = _num;
            #endregion
            #region 显式转换
            //1. 使用Convert 类进行强制转换
              //在这儿里将string 类型的13 转换成int 类型
              int _num3= Convert.ToInt32( "13");
              Console.WriteLine(_num3);
              // 在 Convert 类中还有很多方法在这就不一一列举了
            //下面这行代码如果运行程序会报错,因为13.5是小数,无法转换成int类型
            //所以使用强制转换的时候最起码类型表面上要相符
            /*
            int _num4 = Convert.ToInt32("13.5");
            */
            //2 (类型)变量  进行强制转换
            float a1 = 15.6f;
            //在这里将float 类型转换成int 类型会造成数据丢失 ,
            //下面的结果会是15,后面的小数会丢失
            int a2 = ( int)a1;
           
            //3 .Tostring();
            //将其他任何类型转换成string类型
            int c1 = 15;
            //这行代码会将c1 转换成string 类型
            string str1 = c1.ToString();
            bool isOk = true;
            string str2 = isOk.ToString();
            char _A = 'A';
            string str3 = _A.ToString();
            //4  类型.Parse(string类型的变量);
            string str6 = "345";
            //将string类型转换成其他任何类型
            int bn1 = int.Parse(str2);
            double bn2 = double.Parse(str2);
            #endregion
        }
    }
}
 
 
  
 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值