C#视频数据类型

Posted 王思琪^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#视频数据类型相关的知识,希望对你有一定的参考价值。

image.png

类型转换

在C#中类型转换有三种:隐式转换、显示转换、装箱和拆箱

  • 隐式转换:int——>double,多小数
  • 显示(强制)转换:double——>int,丢精度 Convert、string——>int

什么是隐式转换?

一般是低类型向高类型转换,能够保证值不发生变化

如:short(char)—>int—>long—>float—>double

int a = 1;//定义一个变量为a的整数类型,并赋值1
long b = a;//定义一个变量为b的长整数类型,并把a赋值给b

什么是显示转换?

从高类型向低类型转换

float b = 3.14;
c = (int)b
c的值就是3

装箱和拆箱

1、装箱:是将一个值类型的数据隐式转换成一个对象类型的数据,把一个值类型装箱就是创建一个object类型的实例,并把该值类型的赋值给这个object对象

int i =10;
object obj = i;//隐式转换装箱

int i =10;
object obj = (object)i;//显示转换装箱

分析:i及其值10是在栈空间中分配的额,obj是引用类型变量,也是在栈空间中分配的,i装箱后变为引用类型,在堆空间中分配相应的空间,obj中包含地址

2、拆箱:将引用类型的数据显示转换成一个值类型数据,分为两步:首先检查对象实例,确保它是给定值类型的一个装箱值,然后把实例类型复制到值类型数据中

Object obj = 10;
Int I = (int)obj; //显示转换拆箱

3、区别:装箱隐式转换或显示转换均可,拆箱只能是显示转换

以上是关于C#视频数据类型的主要内容,如果未能解决你的问题,请参考以下文章

C#视频面向对象数据类型

C# 最有用的(自定义)代码片段是啥? [关闭]

c#代码片段快速构建代码

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

是否可以动态编译和执行 C# 代码片段?

C#常用代码片段备忘