变量类型和可空类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量类型和可空类型相关的知识,希望对你有一定的参考价值。
1、变量类型
a、静态类型:编译时确定且不能在不能在运行时修改。
b、动态类型:直到运行时才会被解析。
由于动态语言(如:IronPython和IronRuby)为.NET语言,所以C#程序需要能够使用这些语言编写的程序集。为解决这一问题,C#语言的设计者为语言增加了dynamic关键字。
c、dynamic关键字:代表一个特定的、实际的C#类型,它知道如何在运行时解析自身。也就是说,它是动态化的静态类型。
2、可空类型
在一些情况下,我们希望表示变量目前未保存有效的值。对于引用类型,我们可以将变量设置为null。而定义值类型的变量,我们可以使用布尔指示器和变量关联,如果值有效,则设置为true,否则就设置为false。可空类型允许创建可以标记为有效或无效的值类型,而普通的值类型称作非可空类型。
创建:可空类型总是基于另外一个已声明类型,这个类型称为基层类型。你不需要在代码中显式声明可空类型。相反,只需要声明可空类型的变量即可,编译器会自动为你隐式创建可空类型。如果要创建可空类型的变量,只需要在变量声明中在底层类型名字后面增加一个问号。如:int? myINT = 28;
检查可空类型是否包含值,只需要和null比较。
在非可空类型和其可空版本之间存在隐式转换,在可空类型和其非可空版本之间存在显示转换。
赋值:我们可以为可空类型的变量赋3种类型的值
a.其底层类型的值
b.相同可空类型的值
c.null值
例:int? myI1,myI2,myI3;
myI1 = 28;
myI2 = myI1;
myI3 = null;
Console.WriteLine("myI1:{0},myI2:{1}", myI1,myI2);
以上是关于变量类型和可空类型的主要内容,如果未能解决你的问题,请参考以下文章
可空引用类型意外 CS8629 可空值类型可能为带有临时变量的空
Kotlin空安全 ① ( Kotlin 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )