【Aモデル録 フェーズ1 C#基礎】
また少しずつ学習の段階が上がっていきます。
ここから、「C#の便利グッズ」が頻出してきます。
注釈で明示していきますが、これらは「C#に最初から備えてあるメソッド」です。
👉 リストとは、「要素の追加・削除・管理を、C#に任せられる配列」 です。
配列の
を、全部まとめて解決する道具。
| 種類 | 宣言書式 | 例 | 命名規則 | 覚え方 |
|---|---|---|---|---|
| リスト | List<型> 名前 = new(); | List<int> ages = new(); | 複数形+camelCase | 複数は s を忘れずに |
👉 共通点は、棚の枠の中には、1つの箱しか入れられない
👉 配列は、自分で棚の数を決めて作る、カラーボックス
| 0 | 1 | 2 | 3 | 4 |
|---|
👉 リストは、「追加・抜く・詰める」という手順コードを「詳細に書く」のを、C#が請け負ってくれます。
| 編集前のインデックス | 0 | 1 | 2 | 3 | 4 | ||
|---|---|---|---|---|---|---|---|
| したいこと | そのまま | 追加したい | 追加したい | 抜きたい | 詰めたい | 番号を連番にしたい | そのまま |
配列を触ったあなたは、もうこう思ってます。
配列はこう言います:
「それ、できません」
そこで List の出番。
List<int> numbers = new List<int>();
何を作ったか。
List<int>numbers= new List<int>()📌 List も参照型(重要)
配列と比較しながら進めます。
numbers.Add(10);
numbers.Add(20);
numbers.Add(30);
👉 サイズ指定なし
👉 C#が広げてくれる
👉 詳しい管理も C# 任せ
配列との精神的差:
※「Add();」は、便利グッズ
int x = numbers[1];
👉 見た目は配列、性質は参照型
numbers.Remove(20);
配列では地獄だった処理。
※「Remove();」も、便利グッズ
int count = numbers.Count;
配列の場合は:
numbers.Length;
リストの場合は:
numbers.Count;
👉 C#が管理してる感、ここに出る。
※「Length;」、「Count;」も、便利グッズ
List<int> a = new List<int>();
a.Add(1); //ここではaは1
List<int> b = a;
b.Add(2); //bが値を変える
結果:
a.Count == 2
👉 箱は1つ
👉 a も b も、それぞれに同じ List にアクセスして編集できる
配列とまったく同じ構造。
リストの中身が int の場合:
[a]
↓↑
[ List ] : [ 1 ][ 2 ][ 3 ]
↓↑
[b]
👉 棚は共有、扱っているのは値の複製品
❌ List は便利な配列
✅ List は「管理機能つきの参照型コンテナ」
❌ List は中身も参照
✅ 中身の型次第
👉 基礎・内部処理向け
👉 ほぼこっち