C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 57 を表示中)
■32706 / )  インスタンス生成時におけるnullチェックの必要性について
□投稿者/ toroneko (1回)-(2009/02/13(Fri) 09:35:04)

分類:[C#] 

開発環境:VisualStudio 2008 & .NET Framework 2.0

C#でプロジェクトを進めていくうちにコードの可読性が悪化しており、
製品レベルの品質を向上させるため、C#のガイドラインやベストプラクティスを模索しております。
宜しくお願い致します。


【質問】
下記のような一般的なインスタンスの生成時、nullチェックが必要かどうか教えて下さい。
必要な場合、どういう時に通過するのか知りたいです(出来れば情報源も知りたいです!)
ArrayList list = new ArrayList();
if (list == null)
{
  // エラー時のフロー(ログでも出す?)
}
else
{
  // 正常時のフロー
}

【制約】
アンマネージなリソースなど、問題発生時に開放すべきものは無い前提でお願いします。

【補足】
当方はC++からC#に移行したのでnullチェックする癖が付いていたのですが、
●C#ではガベージコレクションがある点
●new がメモリの割り当てに失敗するとOutOfMemoryException例外がスローされる点
を考えるとnullチェックのフローを通る事は無いように感じます。
(今思えばC++も設定次第で例外がスローされるから、nullチェックとは違うアプローチで
 メモリの開放を行うべきでしたね…)


C#におけるインスタンス生成時の良いコーディング方法を是非ご教授下さい!!
「nullチェックせずにバンバンnewするのが普通」とか「意味がなくてもやる」とか…理由も♪
(もちろん最高や絶対というものは無いのでしょうが、お勧めでも構いません)

以上、宜しくお願い致します。


返信 編集キー/


管理者用

- Child Tree -