最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年07月28日 14:36:53   作者:dudu  
這篇文章主要給大家介紹了關(guān)于C# params可變參數(shù)的使用注意的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

結(jié)果卻出人意料, null 引用異常繼續(xù),仔細(xì)看異常 stack 才發(fā)現(xiàn)原來(lái) null 引用異常是在 foreach 時(shí)拋出的,需要在 foreach 時(shí)對(duì) blogPost 進(jìn)行 check null 。

下面的示例代碼可以驗(yàn)證這一點(diǎn)

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; }
}

運(yùn)行時(shí)的輸出結(jié)果是

$ dotnet run
blogPosts in null
blogPost in null

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 輕松學(xué)習(xí)C#的運(yùn)算符

    輕松學(xué)習(xí)C#的運(yùn)算符

    輕松學(xué)習(xí)C#的運(yùn)算符,對(duì)C#的運(yùn)算符感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的運(yùn)算符
    2015-11-11
  • C#給圖片添加水印完整實(shí)例

    C#給圖片添加水印完整實(shí)例

    這篇文章主要介紹了C#給圖片添加水印的方法,以完整實(shí)例形式分析了C#實(shí)現(xiàn)文字及圖像水印、縮略圖、圖片剪切等相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • C#算法函數(shù):獲取一個(gè)字符串中的最大長(zhǎng)度的數(shù)字

    C#算法函數(shù):獲取一個(gè)字符串中的最大長(zhǎng)度的數(shù)字

    這篇文章介紹了使用C#獲取一個(gè)字符串中最大長(zhǎng)度的數(shù)字的實(shí)例代碼,有需要的朋友可以參考一下。
    2016-06-06
  • WPF實(shí)現(xiàn)上下滾動(dòng)字幕效果

    WPF實(shí)現(xiàn)上下滾動(dòng)字幕效果

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)上下滾動(dòng)字幕效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C# 中DateTime 的使用技巧匯總

    C# 中DateTime 的使用技巧匯總

    本文主要介紹了DateTime的使用技巧,包括獲取本周、上周、下周、本月、上個(gè)月、下個(gè)月、本季度、上季度、下季度、本年度、上年度、下年度等多個(gè)方法,分享給大家,希望對(duì)大家有所幫助。
    2016-04-04
  • C#中的委托數(shù)據(jù)類(lèi)型簡(jiǎn)介

    C#中的委托數(shù)據(jù)類(lèi)型簡(jiǎn)介

    委托是一個(gè)類(lèi)型安全的對(duì)象,它指向程序中另一個(gè)以后會(huì)被調(diào)用的方法(或多個(gè)方法)。通過(guò)本文給大家介紹C#中的委托數(shù)據(jù)類(lèi)型簡(jiǎn)介,對(duì)c委托類(lèi)型相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • 基于C#實(shí)現(xiàn)自定義計(jì)算的Excel數(shù)據(jù)透視表

    基于C#實(shí)現(xiàn)自定義計(jì)算的Excel數(shù)據(jù)透視表

    數(shù)據(jù)透視表(Pivot?Table)是一種數(shù)據(jù)分析工具,通常用于對(duì)大量數(shù)據(jù)進(jìn)行匯總、分析和展示,本文主要介紹了C#實(shí)現(xiàn)自定義計(jì)算的Excel數(shù)據(jù)透視表的相關(guān)知識(shí),感興趣的可以了解下
    2023-12-12
  • C#對(duì)XML文件的各種操作實(shí)現(xiàn)方法

    C#對(duì)XML文件的各種操作實(shí)現(xiàn)方法

    C#對(duì)XML文件的各種操作實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-04-04
  • C#實(shí)現(xiàn)影院售票系統(tǒng)

    C#實(shí)現(xiàn)影院售票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)影院售票系統(tǒng),解析了售票系統(tǒng)的難點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • c#中使用BackgroundWorker的實(shí)現(xiàn)

    c#中使用BackgroundWorker的實(shí)現(xiàn)

    本文主要介紹了c#中使用BackgroundWorker的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論

锡林郭勒盟| 重庆市| 屏东市| 南召县| 大宁县| 兰州市| 调兵山市| 丹江口市| 阳东县| 微山县| 永靖县| 呈贡县| 郴州市| 海盐县| 额济纳旗| 襄汾县| 元阳县| 乌什县| 体育| 吴桥县| 都匀市| 莫力| 田东县| 会东县| 岳阳县| 青河县| 霍邱县| 宁城县| 安岳县| 靖江市| 二连浩特市| 龙山县| 灌云县| 扎囊县| 额济纳旗| 贵定县| 安徽省| 尖扎县| 柳州市| 塔河县| 大荔县|