C# Nullable的使用小結(jié)
在C#1.x,一個(gè)值類型變量是不可以被賦予null值的,否則會(huì)產(chǎn)生異常。
在C#2.0中,提供了Nullable類型,允許用它定義包含null值(即空值)的數(shù)據(jù)類型,這對(duì)處理數(shù)據(jù)庫中包含可選字段以及很多方面都有幫助。
定義一個(gè)nullable類型,使用類型修飾符“?”;
比如定義一個(gè)整型如下:
int myInt = 1;
要使一個(gè)整型變量可以存儲(chǔ)一個(gè)null值,可以如下聲明:
int? myNullableInt= 1;
這兩個(gè)變量看起來似乎是一樣的。但事實(shí)并非如此。實(shí)際上Nullable類型是一個(gè)結(jié)構(gòu)體,它有兩個(gè)公開可讀字段:HasValue和Value。 HasValue是一個(gè)布爾值,當(dāng)有值存儲(chǔ)時(shí)它為真,當(dāng)變量值為null時(shí)HasValue為假。當(dāng)HavValue為真是時(shí),可以取得變量的值;為假時(shí),當(dāng)嘗試取得變量的值時(shí)會(huì)拋出一個(gè)異常。
看一下示例;
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();
}
}
到此這篇關(guān)于C# Nullable的使用小結(jié)的文章就介紹到這了,更多相關(guān)C# Nullable內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)六大設(shè)計(jì)原則之迪米特法則
這篇文章介紹了C#實(shí)現(xiàn)六大設(shè)計(jì)原則之迪米特法則的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
手把手教你如何基于C#制作一個(gè)網(wǎng)址檢測工具
這篇文章主要給大家介紹了關(guān)于如何基于C#制作一個(gè)網(wǎng)址檢測工具的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02
C# OpenCVSharp實(shí)現(xiàn)高效的背景分割功能
背景分割是圖像處理中的核心任務(wù),它將圖像分為前景(感興趣的對(duì)象)和背景(不需要的部分),在證件照處理、視頻 監(jiān)控、醫(yī)學(xué)影像等領(lǐng)域,背景分割技術(shù)至關(guān)重要,本文就給大家介紹了如何使用C# OpenCVSharp實(shí)現(xiàn)高效的背景分割功能,需要的朋友可以參考下2026-04-04
C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓
這篇文章主要介紹了C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓,zip?是一個(gè)非常常見的壓縮包格式,本文主要用于說明如何使用代碼?文件或文件夾壓縮為?zip壓縮包及其解壓操作,需要的朋友可以參考下2022-09-09

