C# Nullable学习

这篇具有很好参考价值的文章主要介绍了C# Nullable学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在C#1.x,一个值类型变量是不可以被赋予null值的,否则会产生异常。

在C#2.0中,提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多方面都有帮助。

定义一个nullable类型,使用类型修饰符“?”;

比如定义一个整型如下:

int myInt = 1;

要使一个整型变量可以存储一个null值,可以如下声明:

int? myNullableInt= 1;

    这两个变量看起来似乎是一样的。但事实并非如此。实际上Nullable类型是一个结构体,它有两个公开可读字段:HasValue和Value。 HasValue是一个布尔值,当有值存储时它为真,当变量值为null时HasValue为假。当HavValue为真是时,可以取得变量的值;为假时,当尝试取得变量的值时会抛出一个异常。

看一下示例;

using System;

    class Demo
    {
        static void Main(string[] args){
            int? num1;
            int? num2 = 123;
            num1 = null;
        
            double? num3 = null;
            double? num4 = 3.1415926;

            Console.WriteLine("num1 = {0} \r\n num2 = {1} \r\n num3 = {2} \r\n num4 = {3}", num1, num2, num3, num4);
            Console.ReadLine();
        }
    }

C# Nullable学习,.Net,Nullable
 

 文章来源地址https://www.toymoban.com/news/detail-571420.html

到了这里,关于C# Nullable学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【clickhouse实践】clickhouse如何在查询中对某字段空值设置默认值及对Nullable值的处理

    在ClickHouse中,我们可以使用一些函数来处理可空性(nullable)列。可空列是指允许包含空值(null)的列。在处理可空列时,我们需要考虑如何处理这些空值。以下是几个常用的ClickHouse函数,用于处理可空性列。 IFNULL 函数用于将一个可空性列中的空值替换为指定的默认值。它

    2024年02月12日
    浏览(41)
  • C# .NET ADO.NET介绍和如何使用

    .NET Framework 4.7.2 Visual Studio 2022 Sql server 2008 新建项目 我们看一下visual studio 里面ADO.NET文件 ADO.NET是实体数据模型,是ORM对象文件。ORM,即Object-Relational Mapping(对象关系映射)。 ORM实际上是对业务的简化。就想面向过程到面向对象的转变一样。 面向过程和面向对象 面向过程:程序

    2024年02月09日
    浏览(64)
  • C#核心笔记——(一)C#和.NET Framework

    C#是一种通用的,类型安全的面向对象编程语言。其目标是提高程序员生产力。 C#实现了丰富的面向对象范式,包括封装、继承、多态。 C#面向对象特性包括: 统一的类型系统 类与接口 属性、方法、事件 C#支持纯函数模式 C#是一门类型安全的语言。例如:C#不允许将字符串类

    2024年02月08日
    浏览(58)
  • C# 与 .NET 介绍

    一、什么是C#         C# 是一门面向对象的编程语言,由微软开发,用于生成面向.NET环境的代码。 二、什么是.NET         .NET是一个开发平台,在该平台上可以构建Web API应用程序、Windows控制台程序、WPF桌面应用程序等。 三、什么是.NET Framework         .NET Framework是用于Wi

    2023年04月15日
    浏览(60)
  • C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6

    .NET6 正式版本已经发布有一阵子了,今天我就体验一下如何将.NET Framework的项目升级为.NET 6. 升级条件: Windows 操作系统 .NET 6 SDK Visual Studio 2022 17.0 或更高版本 ①首先是VS2022下载,直接上微软官方网站,下载地址: https://visualstudio.microsoft.com/zh-hans/downloads/ 下载后,在线安装就

    2024年02月12日
    浏览(58)
  • (1)C#基础——.NET 框架

    背景:为了解决 不同的操作系统、开发平台、运行框架、开发技术的不兼容性。 微软公司借助.NET框架将windows下各种应用程序开发有机地集成起来,未开发人员提供统一的开发接口和类库 1.1.1产生 软件发展过程中,不断有各种新的技术产生,也有落后技术淘汰, 从而很多技

    2024年02月02日
    浏览(34)
  • .Net C# MemoryCache 缓存

    缓存是一种开发时常用的性能优化手段,.Net自带内存缓存(MemoryCache)可以很方便的使用,下面列出简单用法。 首先通过NuGet添加 Microsoft.Extensions.Hosting、Microsoft.Extensions.Caching.Memory 这两个包。 添加命令: Install-Package Microsoft.Extensions.Caching.Memory Install-Package Microsoft.Extensions.

    2024年02月08日
    浏览(38)
  • C#安装.Net平台科学计算库Math.Net Numerics

    工作的时候需要使用到C#的Math.Net库来进行计算。 Math.Net库涵盖的主题包括特殊函数,线性代数,概率模型,随机数,插值,积分,回归,优化问题等。 这里记录一下,安装Math.Net库的过程。 Visual studio 2015安装这个库的时候,先更新Nuget,Nuget是C#的程序包管理器,许多扩展安

    2024年02月17日
    浏览(36)
  • C#和.NET FrameWork概述

    .NET FrameWork是由微软开发的一种面相对象的环境框架,特点如下: ①多平台:可在各种计算机、服务器、手机上运行。 ②标准化通讯协议:如XML、HTTP、JSON等。 ③安全性:CLR检查并确保参数及数据对象的类型安全。 ④简化部署:.NET程序不需要使用注册表注册 和 允许不同D

    2024年02月09日
    浏览(39)
  • 探究——C# .net 代码混淆/加壳

    保密。 先查询一下常见的加壳工具: DotFuscator,官方自带,据说免费版混淆程度不高 ConfuserEx,只支持.NET Framework 2.0/3.0/3.5/4.0/4.5/4.6/4.7/4.8,不支持.NET Core Virbox Protector,很好很优秀,但是收费 NET Reactor, 最新6.9版收费,PJ版到4.9不支持.NET Core Obfuscar,开源,可以用dotnet tool或

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包