2016年5月16日月曜日

[C#] 配列とリスト(List)、 そしてArrayList

こんにちは。明月です。
今日は配列について勉強します。我々がプログラムを作成すれば変数宣言をたくさんすると思います。
例えば、1ヶ月のスケジュールのプログラムを作成すると思えば1ヶ月間のデータを格納する変数が必要だと思います。
さらに考えると、1ヶ月ではなく1年分だと思うと365個の変数が必要です。そうするとソース管理が大変になると思います。それでその場合は同じタイプの変数を結んで配列に作ります。
配列の仕様方法については下記のとおりになります。




上の列例を見ると整数タイプの「int」系で「test」の変数に10個を宣言すると意味になります。
配列は「0」番から始まって10個なので、「9」番までメモリに宣言されます。


もし「10」番以上にデータを入れるとエラーになります。



こんなみたいに配列を使う場合、何個を使うかを決めて宣言します。プログラム設計によって違うと思いますが、プログラムで変数を何個を使うか知らないケースもあります。


その場合にできるほど、大きく配列を宣言するのはできないので、動的の配列、すなわちリストを使います。
C#ではListはクラス形態なので仕様方法は、下記とおりになります。




配列を比べてリストは個数宣言が必要なく使います。でも今回は個数でけではなくデータタイプも知らないケースがあります。
その場合はList<object>を使っても良いですが、クラスとしてはArrayListがあります。




今まで配列、リスト(List)、ArrayListについて勉強しました。
機能だけ見るとArrayListが使いやすいし、配列は厳しそうですね。それならArrayListだけ使えばいいと思いになりますが、配列とArrayListの差は利便性だけではなく、性能(パフォーマンス)も差があります。
リスト、ArrayListはクラスタイプなので構造体の配列より遅くなります。(配列リストの場合は再宣言、連携リストの場合は検索)データ処理量が少なければ何でも使っても構わないですが、大量のデータの場合はどんなタイプを使うかのことで実行速度の差が発生します。
それで正確に使うのがプログラム品質のため良いと思います。

0 件のコメント