【C#入門】Listの初期化の意味から方法まで分かりやすく徹底解説

Listを正しく初期化してる? 必要な理由や注意点を解説

C#でListを初期化する意味って?
どうして初期化しないといけないの?

Listを初期化する方法をサンプルコード付きで知りたい!

こんにちは。文系出身のエンジニアで現役8年目になる佐藤です。

皆さんはC#でプログラミングするとき、Listを正しく初期化して扱えていますか? そもそも初期化する意味がわからない……という初心者の方も多いのではないでしょうか。

この記事では、初期化を行う意味からListの初期化方法、その注意点まで一気に解説していきます。

どんなレベルの方にも分かりやすい言葉を使って解説していきますので、まだ始めたばかりで難しい用語に馴染みがない方も安心して最後までご覧ください。

もし「Listが良く分からない……」という方がいらっしゃれば詳しい解説記事がありますのでこちらからご覧ください。

それではさっそく、List初期化の方法と意味を見ていきましょう。

目次

Listを初期化する方法と意味

この章では、Listを初期化する意味から解説して理解を深めていきます。

後半では方法を紹介していますので、概要は分かっているので方法だけ知りたいという方は「基本の初期化」をご覧ください。

「初期化する」とは

List以外にもいろいろなものを「初期化」してC#でプログラミングを行っているかと思いますが、なぜ初期化を行わなければならないのでしょうか?

その理由は、思わぬ値が入ったままプログラムが実行されないようにする為です。思わぬ値がどこかに潜んだままプログラムを実行すると、予期しないエラーの原因になります。

初期化することで、自分で値を設定してしまえばエラーを未然に防げるという訳なんです。

でもC#で値を設定していない変数を参照するとエラーが出るし
わざわざ意識する事でもないのでは?

そう考えますよね。

でもC言語というプログラミング言語ではエラーが出ず、初期化しないと思わぬ値が格納されてしまうんです。エラーが起きる原因になるので、以前はかなり意識して初期化を行っていました。

そこでC#やJavaなどのプログラミング言語では、初期化を促すためコンパイルエラーを出してくれるようになりました。また、変数であれば型によってデフォルト値(例えば、intなら0)で初期化してくれるんです。

今では意識する必要も無くなっているかもしれませんが、意味だけでも頭の片隅に置いておくことをおすすめします!

それでは次は基本の方法を紹介していきます。

基本の初期化

Listの初期化方法はとても簡単です。

List<string> test = new List<string>();

Listに格納する値の型を指定して宣言を行います。

newを使ってオブジェクト自体の初期化を行えば完了です。最後の ( ) には容量を指定することが出来るのですが、指定しないままで問題ありません。ですが、つけ忘れるとエラーになるので忘れないようにしましょう。

値を指定して初期化したい時

stringやintの変数を宣言する時、同時に値も指定して初期化が出来ますよね。

Listでも同じことが出来ます。

List<string> test = new List<string>() { "値1", "値2", "値3" };

例では3つ指定しましたが、それ以上でももちろん可能です。また、値を指定した時には ( ) を省略することが出来ます。

以上が初期化の方法になります。意識せずとも行っていたという方もいらっしゃるかもしれませんね。基本はこの二つを覚えておけば大丈夫なので、どんどん実践で使って行きましょう。

最後に、初期化する時の注意点についてです。

Listを初期化する時の注意点

Listを初期化する時は、newでオブジェクトの初期化を行いました。

これを行わないと、デフォルト値での初期化が行われてしまい中身がnullになってしまいます。

そのままだとエラーになってしまいますので、忘れずに「new」でオブジェクトの初期化を行ってください。また、最後の ( ) も忘れないように記載します。

ちゃんと書いているはずなのにエラーになっている……という場合は、この2点をまずチェックしてみてくださいね。

まとめ

C#でのListの初期化について解説してきました。

Listはよく使う要素です。初期化についてもしっかり理解して実践で使って行きましょう。

それでは次の解説で!

この記事を書いた人

文系大学出身、なんとか自力で頑張りプログラマー歴今年で8年目。
自力で頑張って勉強した経験を生かし、読者の皆様に分かりやすく親しみやすい記事を書けるよう日々邁進中です。
出来る言語はC#,VB,Java,Delphiなどなど、幅広く触っています。

目次