欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解如何在C#中處理空值

 更新時間:2023年07月31日 10:46:59   作者:Joydip?Kanjilal  
在任何編程語言中開發(fā)應用程序時,經(jīng)常會遇到空異?;蚩找卯惓#敲聪旅孀屛覀兲接懸幌略贑#中處理空值的各種方法吧,需要的可以收藏下

在任何編程語言中開發(fā)應用程序時,經(jīng)常會遇到空異?;蚩找卯惓?。空指針或空引用是指不引用有效的內(nèi)存位置或?qū)ο蟮闹羔?。這是一個困擾程序員已經(jīng)很久的問題,自從程序員開始編寫程序以來??罩凳且粋€特殊的值,表示沒有有效值可用。當將空值賦給對象時,它會將對象中的字段或變量的值重置為無值,即空值。所以必須在應用程序的代碼中處理空值,以避免空引用異常和運行時應用程序的意外行為。那讓我們探討一下在C#中處理空值的各種方法。要使用下面提供的代碼示例,首先應該在系統(tǒng)中安裝Visual Studio 2022。

在Visual Studio中創(chuàng)建一個控制臺應用程序項目

首先,讓我們在Visual Studio中創(chuàng)建一個.NET Core控制臺應用程序項目。如果系統(tǒng)已安裝Visual Studio 2022,請按照以下步驟在Visual Studio中創(chuàng)建一個新的.NET Core控制臺應用程序項目:

  • 啟動Visual Studio IDE。
  • 點擊“創(chuàng)建新項目”。
  • 在“創(chuàng)建新項目”窗口中,從顯示的模板列表中選擇“控制臺應用程序 (.NET Core)”。
  • 點擊“下一步”。
  • 在“配置新項目”窗口中,指定新項目的名稱和位置。
  • 點擊“下一步”。
  • 在接下來顯示的“附加信息”窗口中,選擇“.NET 7.0 (標準支持期)”作為您要使用的框架版本。
  • 點擊“創(chuàng)建”。

我們將使用這個.NET 7控制臺應用程序項目來處理接下來文章中的空值。我們將探討在C#中處理空值的五種方法??梢愿鶕?jù)對應的應用程序的需求選擇使用哪種方法。

C#中的空條件運算符(?.)

當對象不為null時,您可以使用空條件運算符(?.)訪問其成員(數(shù)據(jù)成員和方法)。如果對象為null,空條件運算符將返回null,但在訪問對象的成員時不會引發(fā)運行時異常??紤]以下類的示例:

public class Author
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; } 
    public string Address { get; set; }
?}

現(xiàn)在編寫以下代碼來創(chuàng)建一個Author對象,為FirstName和LastName屬性賦值,并獲取Address屬性的長度。請注意,我們沒有為Address屬性賦值,因此它被設置為null。

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
int length = author.Address.Length;

當執(zhí)行上述代碼片段時,將會遇到一個運行時異常,如下圖所示。

圖一:空引用異常

以下代碼示例展示了如何在C#中使用空條件運算符來避免運行時異常。

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
author.Address = null;
int? length = author.Address?.Length;

C#中的空合并賦值操作符(??=)

當左操作數(shù)的值為null時,空合并賦值運算符將右操作數(shù)的值賦給左操作數(shù)。以下是一個在C#中使用該運算符的示例:

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
author.Address = null;
author.Address ??= "Default";
Console.WriteLine(author.Address);

C#中的空值忽略運算符(!.)

空值忽略或空值抑制運算符(!)允許在表達式中抑制所有警告。只有在確信屬性或?qū)ο蟮闹挡粫閚ull,并且希望抑制知道是錯誤的警告時,才應使用此運算符。以下代碼片段演示了如何使用空值忽略運算符:

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
author.Address = null!;
int length = author.Address.Length;
Console.WriteLine(length);

C#中的條件運算符 (?:)

可以使用條件運算符 (?:) 來評估包含其中一個操作數(shù)為null值的表達式。條件運算符也被稱為三元條件運算符,因為使用該運算符的語句有三個部分:條件(布爾表達式)、結果表達式和備選表達式。如果條件為真,則結果表達式(在冒號左側(cè))將被評估/返回。如果條件為假,則備選表達式(在冒號右側(cè))將被評估/返回。以下是一個示例,演示了如何在表達式中使用條件運算符來處理null值:

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
author.Address = null!;
string result = (author.Address != null) ? author.Address : "Unknown";
Console.WriteLine(result);

C#中的is運算符(類型判斷運算符)

還可以使用關鍵字is來檢查一個值是否為null。這個關鍵字(同時也是一個運算符)可以用于比較常量值甚至null值。以下代碼片段展示了如何在C#中使用這個運算符來處理null值。

Author author = new Author();
author.FirstName = "Joydip";
author.LastName = "Kanjilal";
author.Address = null!;
if(author.Address != null)
{
    Console.WriteLine(author.Address);
}
else
{
    Console.WriteLine("The value of the Address property is null");
}

除了上面提到的五種技術之外,還可以使用C#中的其他運算符來檢查null值。使用這里展示的運算符來處理null值的主要目標是避免編寫處理異常的代碼。使用這些技術,可以保持代碼的整潔和可管理性。

到此這篇關于詳解如何在C#中處理空值的文章就介紹到這了,更多相關C#處理空值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C# WinForm實現(xiàn)自動更新程序的方法詳解

    C# WinForm實現(xiàn)自動更新程序的方法詳解

    這一篇就著重寫一下客戶端的代碼,客戶端主要實現(xiàn)的有:啟動后檢測本地的xml文件,然后發(fā)送到服務器獲取需要更新的文件以及版本列表,感興趣的小伙伴可以了解一下
    2022-10-10
  • C++泛型編程Generic?Programming的使用

    C++泛型編程Generic?Programming的使用

    本文主要介紹了C++泛型編程Generic?Programming的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C#針對xml文件轉(zhuǎn)化Dictionary的方法

    C#針對xml文件轉(zhuǎn)化Dictionary的方法

    這篇文章主要介紹了C#針對xml文件轉(zhuǎn)化Dictionary的方法,是C#操作XML文件的典型應用,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • C# 對XML操作入門實例

    C# 對XML操作入門實例

    C# 對XML操作入門實例,需要的朋友可以參考一下
    2013-04-04
  • c#執(zhí)行外部命令示例分享

    c#執(zhí)行外部命令示例分享

    c#執(zhí)行外部命令示例分享,大家參考使用吧
    2013-12-12
  • C#逆變與協(xié)變詳解

    C#逆變與協(xié)變詳解

    這篇文章主要為大家詳細介紹了C#逆變與協(xié)變的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C# 向二進制文件進行讀寫的操作方法

    C# 向二進制文件進行讀寫的操作方法

    該例子使用 BinaryStream 和 BinaryWriter 對二進制文件進行讀寫操作先上代碼再根據(jù)我理解的所分享給各位朋友
    2013-04-04
  • 在.NET中讀取嵌入和使用資源文件的方法

    在.NET中讀取嵌入和使用資源文件的方法

    本文分別介紹了使用GetManifestResourceStream讀取嵌入資源,和使用. resx資源文件嵌入資源,希望對大家有所幫助。
    2016-05-05
  • C#?TreeView控件使用技巧匯總

    C#?TreeView控件使用技巧匯總

    這篇文章主要介紹了C#?TreeView控件使用技巧匯總,TreeView控件在窗體應用里面使用也是頻率比較高的,我們在使用TreeView一般是對資源的分層展示,類似數(shù)據(jù)結構里面樹的凹入表示法
    2022-08-08
  • 詳解c# 協(xié)變和逆變

    詳解c# 協(xié)變和逆變

    這篇文章主要介紹了c# 協(xié)變和逆變的相關資料,幫助大家更好的理解和學習c#,感興趣的朋友可以了解下
    2020-11-11

最新評論