让我们一起学习C# 类型转换

开发 后端
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

[[388237]]

本文转载自微信公众号「后端Q」,作者conan 。转载本文请联系后端Q公众号。  

类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:

隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

下面的实例显示了一个显式的类型转换:

  1. static void Main(string[] args) 
  2.         { 
  3.             double d = 5673.74; 
  4.             int i; 
  5.  
  6.             // 强制转换 double 为 int 
  7.             i = (int)d; 
  8.             Console.WriteLine(i); 
  9.             Console.ReadKey(); 
  10.             
  11.         } 

当上面的代码被编译和执行时,它会产生下列结果:

  1. 5673 

下面的实例把不同值的类型转换为字符串类型:

  1. static void Main(string[] args) 
  2.         { 
  3.             int i = 75; 
  4.             float f = 53.005f; 
  5.             double d = 2345.7652; 
  6.             bool b = true
  7.  
  8.             Console.WriteLine(i.ToString()); 
  9.             Console.WriteLine(f.ToString()); 
  10.             Console.WriteLine(d.ToString()); 
  11.             Console.WriteLine(b.ToString()); 
  12.             Console.ReadKey(); 
  13.             
  14.         } 

当上面的代码被编译和执行时,它会产生下列结果:

  1. 75 
  2. 53.005 
  3. 2345.7652 
  4. True 

在C#中,我们可以看到三种强制类型转换,比如强制转换成有符号32位整型,可以找到下面三种方式:

①(int)()

②Convert.ToInt32()

③int.Parse()

as 转换符

as 操作符的工作方式与强制类型转换一样 ,只是它永远不会抛出一个异常,如果对象不能转换,结果就是null,强制转换则会抛出异常。

 

责任编辑:武晓燕 来源: 后端Q
相关推荐

2022-02-14 10:16:22

Axios接口HTTP

2022-03-31 18:59:43

数据库InnoDBMySQL

2022-03-08 17:52:58

TCP格式IP

2021-08-27 07:06:10

IOJava抽象

2021-12-29 08:27:05

ByteBuffer磁盘服务器

2021-11-26 07:00:05

反转整数数字

2021-07-15 07:23:28

Singlefligh设计

2022-06-26 09:40:55

Django框架服务

2022-02-14 07:03:31

网站安全MFA

2016-09-06 10:39:30

Dell Techno

2009-11-13 14:52:24

ADO.NET XML

2021-05-31 09:23:04

管道模式责任链

2023-08-14 08:38:26

反射reflect结构体

2023-08-02 08:35:54

文件操作数据源

2022-07-10 23:15:46

Go语言内存

2022-08-01 07:57:03

数组操作内存

2021-12-16 12:01:21

区块链Libra货币

2012-04-14 20:47:45

Android

2021-07-31 11:40:55

Openresty开源

2023-10-10 08:00:07

点赞
收藏

51CTO技术栈公众号