IT

【C#入門】Listと配列の違いとは?【現役エンジニアが解説】

おなやみくん
C#を勉強中です。Listと配列って似たようなもののように感じるのですが、なにか違いはあるのでしょうか?また、使い分けがあれば教えてください。

そんな疑問に回答します。

この記事を書いている人

  • 年齢:33歳
  • 住まい:東京都内
  • 仕事:フリーランスエンジニア
  • 主なプログラミング言語:C#

僕自身はシステムエンジニアになって11年以上経ちますが、

これまでC#をメインに業務を行ってきました。

なので、そこそこ詳しいほうだと思います。

そんな僕が今回は【Listと配列の違い】について説明していきます。

本記事を見ていただくと、

  • Listと配列の違い
  • 配列の使用例

についてわかるようになります。

  • プログラミング学習初心者
  • C#歴がまだ浅い
  • 今後C#ができるようになりたい

といった方向けに、なるべくわかりやすく説明しますので、最後までご覧ください。

【C#入門】Listと配列の違いとは?

複数の要素をひとまとまりにして処理を進めたいときに使われるのがListや配列です。

プログラミングにこの概念があることによって、できることの幅はだいぶ広がりました。

ただ、【Listと配列の違い】については、「あまりよくわかってない」という人がほとんどではないでしょうか?

 

本記事ではこの違いについて触れていきます。

ということでさっそく本題に入っていきましょう。

違いはデータ数が決まってるかどうか

いきなり答えなのですが、

Listと配列の違いは、データ数が決まっているかどうか?

ということです。

例えば、Listの場合は以下のような初期化の仕方をします。

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

続いて配列の初期化です。

string[] arrayList = new string[5];

 

つまり、

  • Listはデータ数が決まっていない
  • 配列はデータ数が決まっている

という違いですね。

この例でいうと、配列には5つの要素しか入らないということになります。

ぶっちゃけほとんどListで実装可能

ちなみに僕がこれまで経験してきた案件でいうと、9割9分はListで実装しています。

配列でできてListでできないことって、基本はほとんどないんですよね。

なので、あえてデータ数を明示しなければならない場合を除いて、Listを使っておけば間違いはないかと。

Listを使うことで、要素数の取得・要素内の検索・要素の入れ替えなどがとても簡単にできます。
(これらは配列でも可能ではありますが)

 

びっくりこさん
Listを使えばだいたい実装可能なのは分かったけど、配列はどういう時に使えばいいの??

という疑問を持たれる方もいらっしゃることと思います。

配列の使用例

あんまりにもList推しだと配列がかわいそうなので、配列の使用例についても触れていきます。

先ほども触れたように、基本的には配列でできることはListでもできると思っておいてください。

 

違いは【データ数が決まっているかどうか】というところなので、データ数を決めていた方が都合のいいデータを複数扱う場合は配列を使用したほうがいいということになります。

おなやみくん
データ数を決めていた方がいいのってどんな時だろう?

例えば、以下のような場合です。

  • 1年間のデータを扱う場合(1年間は12か月と決まっている)
  • 干支のデータを扱う場合(干支は十二支と決まっている)
  • 血液型のデータを扱う場合(血液型は4種類と決まっている)

これらのときは、Listを使うよりもデータ数を固定して配列で書いたほうが、可読性も上がって後で見た人がわかりやすい作りになります。

うれしみちゃん
なんとなくわかった気がします!

まとめ

今回は、C#の入門的な内容として「Listと配列の違いとは?」という疑問に回答してきました。

最後に改めて本記事の要点をまとめておきましょう。

ポイント

  1. Listと配列の違いは、データ数が決まっているかどうかである。
  2. 基本的にはListを使っておけば大丈夫。
  3. 配列を使うのは、データ数を決めておいたほうが都合がいい場合。

ちなみにこういった基礎的な内容を学ぶなら、入門書的な書籍を一冊でいいので買って勉強することをオススメします。

僕自身が最近買ってわかりやすかった本を下記に紹介しておきますね。

初心者の方でも、プログラミングを始めて学習するという方でも、とにかくわかりやすく書かれているのでオススメです。

 

しっかり学んで、C#マスターになっていきましょう!

本記事は以上となります。

-IT
-, , ,

© 2021 さかこじぶろぐ Powered by AFFINGER5