C#类型转换

显示转换

在C#中,显示类型转换(Explicit Type Conversion)是指通过使用显式的类型转换语法,将一种数据类型的值转换为另一种数据类型的值,C#中的显示类型转换通常使用强制类型转换运算符来实现,例如:

  • 将一个数值类型转换为另一个数值类型时,可以使用强制类型转换运算符,如(int)、(double)等等。
  • 将一个引用类型转换为另一个引用类型时,可以使用as运算符或强制类型转换运算符,如(CustomType)obj等等。
值类型的显示转换需要满足如下条件:

1.两种类型相兼容
2.目标类型小于源类型,大的转成小的

double d = 3.14;
int n = (int)d;     //显示类型转换,会丢失精度

隐式转换

在C#中,隐式类型转换(Implicit Type Conversion)是指将一种数据类型的值自动转换为另一种数据类型的值,而不需要使用显式的类型转换语法。C#中支持许多不同类型之间的隐式类型转换,例如:

  • 从较小的整数类型(如byte、short和int)到较大的整数类型(如long和decimal)的隐式转换。
  • 从浮点数类型(如float和double)到更高精度的浮点数类型(如decimal)的隐式转换。
隐式类型转换需要满足如下条件:

1.两种类型兼容
2.目标类型大于源类型,小的转大的

int number = 100;
double d = number;   // int--double 自动类型转换 隐式类型转换  

Convert类型转换

Convert通常用于将字符串转换为其他数据类型、将其他数据类型转换为字符串、将基本数据类型转换为对象类型、将对象类型转换为基本数据类型等等。Convert类型转换通常会检查转换的有效性,如果无法进行转换,会抛出异常,因此在使用时应该注意异常处理

1.通过 Convert.ToInt32把其他类型数据转换成Int类型

            string s = "123456";
            double d = Convert.ToDouble(s);
            Console.WriteLine(d);
            int n = Convert.ToInt32(s);
            Console.WriteLine(n);

2.一切类型都可以转换为string类型
            int a = 10;
            string cc=   Convert.ToString(a)
            Console.WriteLine(cc);
等等.....

int.Parse 和 int.TryParse

1.int.Parse()用于将数字内容的字符串转为int类型。如果字符串为空,则抛出 ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常
   string s = "123456";
   int dd =int.Parse(s);
   Console.WriteLine(dd);

2.int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0

bool b = int.TryParse("123abc", out number);

            if (int.TryParse("123", out num))
            {
                Console.WriteLine($"转换成功,num是{num}");
            }
            //转换失败
            else
            {
                Console.WriteLine($"转换失败");
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值