IT

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

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

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

 

本記事を見ていただくと、以下のことがわかるようになります。

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

 

本記事を書いている僕はこんな人です。

この記事を書いている人

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

 

僕自身はシステムエンジニアになって10年以上経ちますが、これまでC#をメインに業務を行ってきました。

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

そんな僕が今回は【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と配列の違いや使用例を話してきましたが、ここからは未経験からとにかく早くC#習得をしたい方向けに話をします。

結論から言うと、スピード重視でC#習得を目指すならプログラミングスクール受講するのが一番の近道です。

 

独学ではC#を習得できないの??

という疑問を持つ方がいそうですが、独学でも全然問題はないと思います。

僕自身はスクールに通ったことはありませんし、会社の研修を受けながらC#やその他のプログラミング言語の学習をしてきました。

 

ただ、もしあなたが、

未経験から、

なるべく早く、

効率よく、

C#を習得したいと思っているとしたら、プログラミングスクールに通うべきだと断言します。

 

僕の場合は会社から給料をいただきながら勉強できたのでよかったのですが、未経験から独学する場合はちょっと話が変わってきます。

一人で学習すると効率も良くないですし、何より結果にコミットしにくいです。

 

決して安い金額ではないですが身銭を切って学習することで、うしろのドアを閉めるきっかけにもなります。

例えば、大手プログラミングスクールのTechAcademy(テックアカデミー)なら完全オンラインで自宅で学習できます。

 

どんなプログラミングスクールがいいのかわからない方は、まず間違いなくおすすめできるサービスです。

  • 国内最大規模のプログラミングスクールであること
  • 完全オンラインで学習できること
  • 無料体験があること

などの観点から、迷う時間がもったいない人には良いでしょう。

 

C#を学びたい方なら、中でも『Unityコース』が適しています。

ゲーム開発を学びつつ、C#の基礎基本から実務レベルまで学べますよ。

詳しくはこちらの記事をご覧ください。

【テックアカデミー】Unityコースでゲームエンジニアに転職しよう

 

無料体験で雰囲気も味わえるので、ぶっちゃけリスクもゼロです。

いったん無料でお試ししてみて、合いそうだったらお金払えばいいや

といった軽い感じではじめられるので、ぜひやってみてください。

 

 

「テックアカデミーを実際に受講した人の評判・口コミを知りたい!」

「テックアカデミーを受けるメリット・デメリットを知りたい!」

そんな方はこちらの記事もご覧ください。

【テックアカデミー】評判・口コミ徹底調査!最高?ひどい?実態を丸裸にします

 

【必見】合わせて習得したいプログラミング言語

ここからはC#と合わせて習得したいプログラミング言語について話していきます。

 

どんな案件をやるにしても、1つの言語だけというよりは複数言語を合わせて仕事することが多いです。

C#と一緒に習得すべき言語とは何なのでしょうか?

 

フロントエンド系言語

いろんな意見があると思いますが、個人的にはフロントエンド系の言語がC#と合わせて習得すべきだと考えます。

いわゆるエンドユーザーから直接見える部分に関わる言語ですね。

C#という言語がバックエンド系なので、合わせて習得するならフロントエンドが良いでしょう。

 

1.HTML+CSS

Webサイトの基本はHTMLとCSSです。

これを理解していると、普段利用しているWebページを見て、「こんな感じなら自分でも作れるな」とか思うようになります。

※正確に言うとHTMLとCSSはプログラミング言語ではありませんが、ここでは広義の言語として同じくくりにしています。

 

2.JavaScript(ジャバスクリプト)

JavaScriptは、Webページを動的に表示するために用いられます。

これを習得すると、作れるシステムの自由度が広がります。

また、Node.jsやAngularなどのライブラリも充実しているため、できることの幅も年々広がっていて注目の言語です。

 

ちなみに、JavaScriptとJavaはまったく別の言語なので注意してください。

 

3.Bootstrap

Bootstrapは、Twitter社が開発したCSSのフレームワークのことを指します。

要するに、CSSでできるデザインをより簡単に作ることが可能になります。

メリットとしてレスポンシブ(ブラウザやスマホ・タブレットに限らず)にデザインを形成することができます。

 

まとめ【C#の基礎を身に付けてスキルアップしよう】

今回は、『【C#入門】Listと配列の違いとは?【現役エンジニアが解説】』というテーマでお話してきました。

 

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

ポイント

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

 

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

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

 

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

本の内容や感想について気になる方は、こちらの記事も合わせてご覧ください。

『1週間でC#の基礎が学べる本』入門書としておすすめする理由3選

 

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

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

  • この記事を書いた人

サカイユウヤ

エンジニアブロガー【経歴】1986年生まれ ▶ 茨城県出身 ▶ 大学で福島県へ ▶ 就職で東京 ▶ 某SIer企業で丸7年正社員として勤務 ▶ 独立してフリーランスエンジニア ● 2020年7月ブログスタート ● エンジニア歴12年(内フリーランス歴5年)

-IT
-, , ,

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