C#可空类型用法分析

 更新时间:2015年05月16日 11:19:35   作者:永远爱好写程序  
这篇文章主要介绍了C#可空类型用法,实例分析了C#可空类型的功能、定义及使用方法,需要的朋友可以参考下

本文实例讲述了C#可空类型用法。分享给大家供大家参考。具体分析如下:

可空类型只能用于值类型,不能用于引用类型,引用类型本身支持null值。
如果直接把null赋值给int类型,会出现一个错误"无法将 NULL 转换成'int',因为它是一种值类型"。

赋值时应该使用 int? a = null;

可空类型与一元或二元运算符一起使用是,如果一个操作数或两个操作数都是null,其结果为null。

说白了int?a=null 这句话的意思就是让值类型a可以接收null这个值

举例1

int? a = null;
int? b = a * 5; //b = null 
int? c = a + 5; //c = null 

举例2

int? a = null;
int? b = null;
if (a > b)
{
 Console.WriteLine("a > b is true");
}
else
{
 Console.WriteLine("a > b is false");
}
if (a == b)
{
 Console.WriteLine("a == b is true");
}
else
{
 Console.WriteLine("a == b is false");
}

输出结果

a > b is false
a == b is true

举例3

int? a = null;
int b = -5;
if (a >= b)
{
 Console.WriteLine("a>=b");
}
else
{
 Console.WriteLine("a<b");
}
if (a <= b)
{
 Console.WriteLine("a<=b");
}
else
{
 Console.WriteLine("a>b");
}

输出结果(从结果可以看出不能正确识别a>b还是a<b,只要有一个值为null,a>b和a<b这两个条件都是返回false)

a<b
a>b

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#中各种计时器用法小结

    C#中各种计时器用法小结

    这篇文章主要介绍了C#中各种计时器用法,结合实例形式总结分析了C#中各种常用时间相关类实现计时器功能的操作技巧,需要的朋友可以参考下
    2017-06-06
  • C#开发Windows窗体应用程序的简单操作步骤

    C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#中Class的实例化过程详解

    C#中Class的实例化过程详解

    文章详细阐述了C#中类的成员,包括静态字段、静态构造函数、实例字段等的初始化顺序,在无继承情况下,实例化分为声明时初始化和构造函数中初始化两种,分别有明确的执行顺序,需要的朋友可以参考下
    2024-09-09
  • C#中反射和扩展方法如何运用

    C#中反射和扩展方法如何运用

    这篇文章主要为大家详细介绍了C#中反射和扩展方法的运用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#中Task.ContinueWith连续任务使用实例

    C#中Task.ContinueWith连续任务使用实例

    本文主要介绍了C#中Task.ContinueWith连续任务使用实例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 混合语言编程—C#使用原生的Directx和OpenGL绘图的方法

    混合语言编程—C#使用原生的Directx和OpenGL绘图的方法

    本文要说的是混合C#和C/C++语言编程,在C#的Winform和WPF下使用原生的Direct和OpenGL进行绘图
    2013-09-09
  • C#实现Zip压缩目录中所有文件的方法

    C#实现Zip压缩目录中所有文件的方法

    这篇文章主要介绍了C#实现Zip压缩目录中所有文件的方法,涉及C#针对文件的读写与zip压缩相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#中timer定时器用法实例

    C#中timer定时器用法实例

    这篇文章主要介绍了C#中timer定时器用法,实例分析了timer定时器实现定时触发事件的技巧,需要的朋友可以参考下
    2015-04-04
  • 图形学之Unity渲染管线流程分析

    图形学之Unity渲染管线流程分析

    这篇文章主要介绍了图形学之Unity渲染管线流程的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#实现gRPC服务和调用示例详解

    C#实现gRPC服务和调用示例详解

    gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架,这篇文章主要为大家详细介绍了C#如何实现gRPC服务和调用,需要的可以参考一下
    2024-01-01

最新评论