今天在乙個 .net core 專案中呼叫乙個自己實現的使用 params 可變引數的方法時觸發了 null 引用異常,原以為是方法中沒有對引數進行 null 值檢查引起的,於是加上 check null **:
public static void buildblogpostlinks(params blogpostdto blogposts)
}
結果卻出人意料, null 引用異常繼續,仔細看異常 stack 才發現原來 null 引用異常是在 foreach 時丟擲的,需要在 foreach 時對 blogpost 進行 check null 。
下面的示例**可以驗證這一點
class program
public static void buildblogpostlinks(params blogpost blogposts)
foreach (var blogpost in blogposts)
else }}
}public class blogpost
}
執行時的輸出結果是
$ dotnet run
blogposts in null
blogpost in null
c params可變引數
在專案中多多少少會用到params這個關鍵字,來修飾引數,它的作用,讓該引數的個數是可變的,並且可變引數必須是方法的最後乙個引數。但如何判斷到底有沒有為該引數傳遞值,怎麼判斷?static void main string args string strs split new char string...
C params傳遞多個引數
c 開發語言中 params 是關鍵字,可以指定在引數數目可變處採用引數的方法引數。在函式的引數數目可變而執行的 差異很小的時候很有用!params關鍵字表示函式的引數是可變個數的,即可變的方法引數,例如console.writeline i,j 就像delphi 裡 writeln 函式一樣,用於...
C params傳遞多個引數
c 開發語言中 params 是關鍵字,可以指定在引數數目可變處採用引數的方法引數。在函式的參 數數目可變而執行的 差異很小的時候很有用!params關鍵字表示函式的引數是可變個數的,即可變的方法引數,例如console.writeline i,j 就像delphi 裡 writeln 函式一樣,用...