91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# params可變參數的使用注意詳析

發布時間:2020-10-22 10:09:20 來源:腳本之家 閱讀:143 作者:dudu 欄目:編程語言

今天在一個 .NET Core 項目中調用一個自己實現的使用 params 可變參數的方法時觸發了 null 引用異常,原以為是方法中沒有對參數進行 null 值檢查引起的,于是加上 check null 代碼:

public static void BuildBlogPostLinks(params BlogPostDto[] blogPosts)
{
 if (blogPosts == null)
  return;

 foreach (var blogPost in blogPosts)
 {
  //...
 }
}

結果卻出人意料, null 引用異常繼續,仔細看異常 stack 才發現原來 null 引用異常是在 foreach 時拋出的,需要在 foreach 時對 blogPost 進行 check null 。

下面的示例代碼可以驗證這一點

class Program
{
 static void Main(string[] args)
 {
  BuildBlogPostLinks(null);
  BlogPost blogPost = null;
  BuildBlogPostLinks(blogPost);
 }

 public static void BuildBlogPostLinks(params BlogPost[] blogPosts)
 {
  if (blogPosts == null)
  {
   Console.WriteLine("blogPosts in null");
   return;
  }

  foreach (var blogPost in blogPosts)
  {
   if (blogPost == null)
   {
    Console.WriteLine("blogPost in null");
   }
   else 
   {
    Console.WriteLine("blogpost.Title: " + blogPost.Title);
   }
  }
 }
}

public class BlogPost
{
 public string Title { get; set; }
}

運行時的輸出結果是

$ dotnet run
blogPosts in null
blogPost in null

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥德县| 昭平县| 洛阳市| 英德市| 新邵县| 贵溪市| 石嘴山市| 伊川县| 西和县| 宁化县| 兰州市| 益阳市| 怀柔区| 荆门市| 河池市| 扶沟县| 红安县| 当阳市| 山东省| 溧水县| 阳原县| 青浦区| 同心县| 通江县| 南靖县| 曲沃县| 翼城县| 巴塘县| 佳木斯市| 库尔勒市| 屏山县| 静安区| 孝感市| 甘谷县| 修水县| 芒康县| 云霄县| 邛崃市| 静乐县| 余江县| 龙川县|