【C#入門】ArrayListとは?Listとの違いや使い分けを解説

image
中沢 丈
書いた人 中沢 丈
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!エンジニアの中沢です。

C#には複数の値をまとめて取り扱うための「ArrayList」があります。

また、同じデータ型の値を複数取り扱うには「List」を使います。

「ArrayList」や「List」は配列と違い、簡単に要素を追加したり削除することができます。

そのため、要素数が変わる場合には「List」を使うと良いでしょう!

この記事では、

・ArrayListとは
・ArrayListとListの違い

という基本的な内容から、

・ArrayListの使い方
・Listの使い方

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、「ArrayList」と「List」の違いや使い方をわかりやすく解説します!

ArrayListとは

「ArrayList」とは配列のように複数の要素を1つの変数にまとめて扱うためのモノです。

配列との違いは、要素数を変更するのが簡単なことです。

「ArrayList」の要素のデータ型は「Object型」でどんなデータ型でも格納できます。

ただし、要素を取り出すときにはキャストをする必要があります。

キャストとは、データ型を明示的に指定して変換することです。

ArrayListとListの違い

ここでは、「ArrayList」と「List」の違いを解説します。

「List」は指定したデータ型の要素しか格納できませんが、要素を取り出すときにキャストをする必要がありません。

そのため、データ型があらかじめ決まっている場合には「List」を使う方が便利です。

「ArrayList」では異なるデータ型が格納できますが、それが原因でデータ型の間違いによるエラーが発生することがあるので注意が必要です。

また、「ArrayList」はキャストをする必要があるためコードの記述に手間がかかります。

基本的には、「ArrayList」よりも「List」の方が使いやすいので、「List」を使うようにすれば問題ないはずです!

ArrayListの使い方

ここでは、「ArrayList」の使い方を解説します。

「ArrayList」には異なるデータ型の要素を格納することができますが、要素を取り出すにはキャストする必要があります。

「ArrayList」の使い方を次のプログラムで確認してみましょう。

実行結果:

このプログラムでは、「ArrayList」にint型とstring型の2種類のデータ型の要素を格納しています。

要素を取り出すときにはキャストをしています。

Listの使い方

ここでは「List」の使い方を解説します。

「List」は「ArrayList」と違いデータ型を指定するため、異なるデータ型の要素を格納することはできません。

「List」の使い方を次のプログラムで確認してみましょう。

実行結果:

「List」の場合は「ArrayList」と違い異なるデータ型を格納することはできませんが、データ型が決まっているためキャストをする必要がありません。

まとめ

いかがでしたか?

今回は「ArrayList」と「List」の違いについて解説しました。

データ型の指定の違いによって使い方分けることができますが、「List」を使うほうが一般的です。

もし、「ArrayList」と「List」の違いについて忘れてしまったらこの記事を思い出してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

学習者インタビュー

人気講師インタビュー

人気記事セレクション

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題!最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
Python学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]