变量类型和可空类型

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 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )

可空类型

如何将十进制变量转换为可空类型

Kotlin---------------可空类型与? ?: ?. !!

Kotlin系列之可空类型的处理