【初心者向けにC#で解説】プログラミングのnullとは何か?分かりやすく解説

【初心者向けにC#で解説】プログラミングのnullとは何か?分かりやすく解説

nullをご存知でしょうか?

・聞いたことあるけどよくわからない
・使う必要があるのか?

このような方のためにnullについて詳しく解説します。

本記事の内容

  • nullの概念を知ることができる
  • nullの許容型
  • nullの扱う上での注意点
目次

nullとは何か?

nullとは

何も存在していないもの

です。

空文字や0とは全く意味が違います

nullはすべての型で使うことができるもの

つまりすべての型のデフォルトの初期値

でもあります。

null許容型

nullは普通に代入しようとするとエラーとなります。

nullを代入しようとすると以下のようにエラーとなります。

出力

ですが、「どうしてもここでnullを入れたい!」という方のためにnull許容型というものが存在します。

その名の通り、

null代入OKですよ!!

というものです。

宣言方法は型の後に?をつけるだけです。

int? a = null;

これでnullを代入することができます。

nullの活用例

nullを活用する場合は以下のようなコードを書くといいです。

        static void Main(string[] args)
        {
            int? a = null;

            int b = a ?? 0;

            Console.WriteLine(b);
        }

注目をして欲しいのは、

int b = a ?? 0;

です。

これはどう意味なのかというと、

aの値がnullなら0にしてnullでなければaの値を入れる

という処理です。

この処理を入れることでnullでプログラムが不具合を起こすことはなくなります

あとこの演算子を使うことによりifでわざわざnullチェックをしなくて済みます。

nullの応用編

nullの使いかたで少し高度なテクニックを紹介します。

以下のコードをご覧ください。

List<int> intList = new List<int>() { 1, 2, 3 };

int? test = intList?.Count;

Console.WriteLine(test);

このようにListがnullならnullを、中身があるならその中身の要素数を変数に入れるという処理ができます。

結果が以下です。

出力結果

配列やListは代入忘れなどで気づかずにnullとなっている場合があるので、このようにコーディングをしておけばnullでプログラムがバグを起こすこともありません

nullの注意点

ここまでnullを説明してきましたが、

あまり多用するのはおすすめしない!

です。

なぜかといいますと、やはりnullはどうしてもプログラムのバグの原因となってしまいます。
nullを多用しすぎるとメンテナンスが大変ですのでくれぐれもほどほどにしてください。

まとめ【初心者向けC#でnullを解説】

本記事のまとめ

  • nullは危険だが使い方を間違えなければ大丈夫
  • すべてのデフォルト初期値はnullなので気を付ける
  • null許容型を使いうまくnullを扱う

nullを知るということはそれだけ

バグが起こりにくいプログラムを作れる!

ということなのでnullについて本記事で理解していただけたらと思います。

私(@detectivepgmer)は【初心者向け】の記事を書いていますのでこれからも参考にしていただけるとありがたいです。

最後まで読んでいただきありがとうございました。

よかったらシェアしてね!

この記事を書いた人

・文系大卒からプログラマーとしてIT企業に就職!
・就活ではIT企業20社受けて19社不採用。残りの1つから内定をいただきなんとかエンジニアデビュー!
・現在はIT企業退職しフリーランスエンジニアとして活動中。
・未経験からエンジニアになる難しさを知っているので、これからエンジニアを目指す方のために未経験からエンジニアになるための方法を発信中

コメント

コメントする

目次
閉じる