IList型のパラメータを持つアクションメソッドがいくつかあります。ASP.NET MVC - パラメータがnullのときに空のコレクションをバインドします。
public ActionResult GetGridData(IList<string> coll)
{
}
デフォルトの動作では、データがアクションメソッドに渡されない場合、パラメータはnullです。
アプリケーション全体ではなく空のコレクションを取得する方法はありますか?
coll = coll ?? new List<string>();
それとも、nullを返す代わりに空のリストを作成しますModelBinderを実装する必要があります:
なぜあなたはヌルチェックに固執しますか?ヌルの代わりに空のコレクションを返すのがベストプラクティスです。 – user49126
なぜそれをお考えですか? '空のリストが何を表しているのかを' null 'が表すのに違いがある場合はどうなりますか? nullを渡すと、コントローラのユニットテストではどうなりますか?彼らは失敗するでしょう。 publicメソッドを持っています。これはAPIの一部です。つまり、これらの入力を引数でチェックする必要があります。私は、空のリストがnullよりも優れていることを示すガイドラインを覚えていません... –
ここを見てくださいhttp://stackoverflow.com/questions/1969993/is-it-better-to-return-null-or-空のコレクション – user49126