C# Listの使い方|複数データを管理する

広告

C#で複数のデータを管理するには List を使います。

List<string> fruits = new List<string>();
fruits.Add("りんご");
fruits.Add("みかん");
fruits.Add("ぶどう");

配列と違い 追加・削除が簡単 にできるのが特徴です。

この記事では List の基本から使い方まで解説します。


C# Listとは

List は

要素を追加・削除できるコレクション

です。

  • 配列:サイズが固定
  • List:Add で増やせる、Remove で減らせる

電話帳や商品一覧のように 件数が変わるデータに向いています。


基本構文

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

List<string> names = new List<string>();
List<int> numbers = new List<int>();

シンプルなサンプル

using System;
using System.Collections.Generic;

namespace ListSample
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List<string> fruits = new List<string>();

            fruits.Add("りんご");
            fruits.Add("みかん");
            fruits.Add("ぶどう");

            foreach (string fruit in fruits)
            {
                Console.WriteLine(fruit);
            }
        }
    }
}

実行結果

りんご
みかん
ぶどう

よく使うメソッド

メソッド説明
Add要素を追加fruits.Add(“いちご");
Remove要素を削除fruits.Remove(“みかん");
Count要素数fruits.Count
Clear全削除fruits.Clear();

初期値を持って作成する

List<string> fruits = new List<string> { "りんご", "みかん", "ぶどう" };

インデックスでアクセスする

List<string> fruits = new List<string> { "りんご", "みかん", "ぶどう" };

string first = fruits[0];   // りんご
string second = fruits[1];  // みかん

クラスと組み合わせる

電話帳のように 名前と電話番号をセットで管理する場合 クラス と組み合わせます。

class PhoneData
{
    public string Name;
    public string PhoneNumber;
}

List<PhoneData> phoneBook = new List<PhoneData>();

PhoneData p = new PhoneData();
p.Name = "山田";
p.PhoneNumber = "090-1111-2222";
phoneBook.Add(p);

CSV読み込みと組み合わせる

CSVで読み込んだデータを List に追加する例です。

List<PhoneData> phoneBook = new List<PhoneData>();
string[] lines = File.ReadAllLines("data.txt");

foreach (string line in lines)
{
    string[] data = line.Split(',');
    PhoneData p = new PhoneData();
    p.Name = data[0];
    p.PhoneNumber = data[1];
    phoneBook.Add(p);
}

foreach で検索する

名前で電話番号を探す例です。

string searchName = "山田";

foreach (PhoneData data in phoneBook)
{
    if (data.Name == searchName)
    {
        Console.WriteLine(data.PhoneNumber);
        break;
    }
}

List と 配列の違い

項目配列List
サイズ固定可変
追加できないAdd
削除できないRemove
要素数LengthCount

よくあるエラー

using の忘れ

List<string> list = new List<string>();  // エラーになる場合

対策

using System.Collections.Generic;

型の指定

List list = new List();  // エラー:型が必要
List<string> list = new List<string>();  // 正しい

まとめ

C#の List は

複数データを追加・削除しながら管理する

ための基本です。

主な用途

  • 電話帳・住所録
  • 商品一覧
  • CSV読み込みデータの保持
  • 動的に増えるデータ

キーで検索したい場合は Dictionary も検討できます。


関連記事

前の記事

C# CSVファイルを読み込む方法(Split + File.ReadAllLines)

では CSV の読み込み方を解説しています。

次の記事

C# Dictionaryの使い方|キーで検索する

では 名前で電話番号を取得する Dictionary の使い方を解説します。

C# クラスの作り方|データの形を定義する

では List と組み合わせるクラスの作り方を解説します。

訪問数 3 回, 今日の訪問数 3回

広告

C#

Posted by hidepon