【C#入門】Listとは?基本的な使い方(初心者向け)

C#入門Listの基本的な使い方

今回はC#を学び始めて、

「Listって何?」「どう使うの?」

という方向けに、Listの簡単な解説と使い方をご紹介します。

目次

Listの使い方

Listとは?

配列に似たもので、同じデータ型の値をまとめて取り扱うためのもの(クラス)です。

特徴:配列と違い、簡単に要素の追加・削除ができるメソッドがあるので、後から要素を増やしたり減らしたい時に便利です。他に、ソートや検索などもすることができます。

Listは増やしたり減らしたり並べ替えられる箱のイメージ

便利な一方、配列と異なりListは一次元しか作れないので、

配列:後から要素を追加しなくていいとき or 多次元にしたいとき

List:後から要素を追加、削除、並べ替えなどをしたいとき

と使い分けると良いでしょう。

ここではListの基本的な使い方と、Listの要素の追加、削除の方法を簡単に解説します。

Listを使うには

Listを使用するときはプログラムの初めに以下を記述します。

using System;
using System.Collections.Generic;

宣言、初期化

このように宣言、初期化します。

List<データ型>変数名 = new List<データ型>();

またはvar(型推論)を使って

var 変数名 = new List<データ型>();

と書くこともできます。

Listはクラスなのでnewを使ってインスタンスを作成します。

データ型にはint, string, float, double, 自作クラスなど色々な型を指定できます。

例1
// int型のリストを生成
List<int> intList = new List<int>();

// string型のリストを生成
var stringList = new List<string>();
例2
// varを使ってint型のリストを生成
var intList = new List<int>();
例3

List要素の初期値を設定することもできます。

// インスタンス生成と同時に初期値を設定
var intList = new List<int>(){1, 2, 3};

Listの要素のインデックスについて

配列と同じで、要素のインデックスは0から始まるので注意しましょう。

上の例なら、intList[0]の要素は1、intList[1]の要素は2、intList[2]の要素は3になります。

Listの要素の取得、更新

要素の取得

Listの要素の取得は次のように行います。

要素を1つだけ取得する場合
// リストの宣言、要素の初期値設定
var intList = new List<int>()
{
    1, 2, 3
};

// リストの0番目の要素を取得してnumberに代入
int number = intList[0];

// numberを出力
// ※Unityの場合はDebug.WriteLineの代わりにDebug.Logを使いましょう
Debug.WriteLine(number); // 1が出力される
要素を全て取得する場合

要素を全て取得するときは、for文、foreach文、LINQを使って取得できます。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3
};

// for文でListの全要素を取得
for (int i = 0; i < intList.Count; i++)
{
    Debug.WriteLine(intList[i]); // 1 2 3が出力される
}

// foreach文でListの全要素を取得
foreach (var number in intList)
{
    Debug.WriteLine(number); // 1 2 3が出力される
}

// LINQを使ってListの全要素を取得
intList.ForEach(x => Debug.WriteLine(x)); // 1 2 3が出力される

要素の更新

Listの要素を更新するには、要素のインデックスを指定して代入します。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3
};

// リストの0番目の要素を「4」に更新する
intList[0] = 4;

// Listの全要素を取得
for(int i = 0; i < intList.Count; i++)
{
    Debug.WriteLine(intList[i]); // 4 2 3が出力される
}

Listの要素数を取得する

Listの要素数を取得するにはCountメソッドを使います。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3, 4, 5
};

// 要素数を取得
int intListCount = intList.Count();
// 要素数を出力
Debug.WriteLine(intListCount); // 5が出力される

Listの要素の追加/削除(Add/Remove)

要素を追加する

Listに要素を追加するにはAddメソッドを使います。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3
};

// 要素の追加
// Listの末尾に要素が追加される
intList.Add(4); // Listの3番目の要素に4が追加される

//  Listの全要素を出力
for (int i = 0; i < intList.Count; i++)
{
    Debug.WriteLine(intList[i]); // 1 2 3 4が出力される
}

要素を削除する

Listの要素を削除するにはRemoveメソッドを使います。

同じ要素が複数ある場合、最初に一致した要素を削除します。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3, 1
};

// 要素の削除
// 最初の1だけが削除される
intList.Remove(1);

// 全要素を出力
for(int i = 0; i < intList.Count; i++)
{
    Debug.WriteLine(intList[i]); // 2 3 1が出力される
}

要素を全削除する

Listの要素を全て削除するにはClearメソッドを使います。

// リストの宣言
var intList = new List<int>()
{
    1, 2, 3, 1
};

// 要素の全削除
intList.Clear();

// 要素数を出力
Debug.WriteLine(intList.Count); // 要素が全部削除されたので0が出力される

その他できること

Listには他にも

  • 要素の挿入
  • 要素のソート(並べ替え)
  • 要素の検索
  • 別の型へ変換
  • 配列に変換
  • 要素のインデックスの取得
  • 要素に値が含まれるか判定

などができます。

おすすめ書籍

C#を学びたい初心者の方におすすめの書籍をご紹介します。実際に私が購入して良かった本です。

C#の絵本

¥1,958 (2023/01/17 11:06時点 | Amazon調べ)

いちばんやさしいC#の入門書」と帯にありましたが、とてもわかりやすくC#の全体をざっくり学べる本です。

絵本という通り、イラストで解説してくれているので、オブジェクト指向などイメージしにくい概念も理解しやすくなっています。

まるとこ

プログラミング初心者の私でも読みやすい本でした!

確かな力が身につくC#「超」入門

¥2,717 (2023/01/17 22:44時点 | Amazon調べ)

もう少ししっかり学びたい方にはこちらの本がおすすめです。

C#プログラムの書き方の基本からオブジェクト指向まで、やさしい文章とたくさんのイラストで丁寧に解説されています。

プロジェクトの新規作成からスクリーンショット付きでわかりやすく説明されていて、Windowsアプリケーション作成や練習問題を通してC#の基本を身につけることができます

Unity本のベストセラー、「Unityの教科書」と同じ著者の本で、どちらも大変わかりやすいです。

まるとこ

ゲームをイメージしたプログラミング例もあるので
ゲーム制作をしたい方にもおすすめです

おすすめUnity本「Unityの教科書」はこちらから

まとめ

以上、Listの基本的な使い方についてでした。

Listは使えるととても便利なので、学習のきっかけになれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次