国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# params可變參數(shù)的使用注意詳析

2020-01-24 00:02:10
字體:
供稿:網(wǎng)友

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

public static void BuildBlogPostLinks(params BlogPostDto[] blogPosts){ if (blogPosts == null)  return; foreach (var blogPost in blogPosts) {  //... }}

結(jié)果卻出人意料, null 引用異常繼續(xù),仔細看異常 stack 才發(fā)現(xiàn)原來 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; }}

運行時的輸出結(jié)果是

$ dotnet run
blogPosts in null
blogPost in null

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 白河县| 台山市| 牙克石市| 鄂托克旗| 通化市| 赞皇县| 古浪县| 寿宁县| 祁连县| 新闻| 黑龙江省| 丹江口市| 堆龙德庆县| 垫江县| 鱼台县| 苍梧县| 成都市| 静乐县| 稻城县| 嘉祥县| 波密县| 定州市| 静海县| 金乡县| 海南省| 汪清县| 通河县| 包头市| 图木舒克市| 榆林市| 长顺县| 雅安市| 道孚县| 湖南省| 读书| 黄浦区| 天台县| 宁化县| 天台县| 土默特右旗| 惠东县|