C# Listの使い方~基礎~
C#のListとは?
C#のListとはジェネリックコレクションの1つであるListクラスです。
Listは配列と似ており、同じデータ型の値をまとめて取り扱うものです。
配列と違うのは、簡単に要素を追加、削除が行えるメソッドが用意されています。
ここでは一部のListのメソッドの紹介、使用方法などを簡単に説明しています。
Listクラスの使用方法
Listクラスを使用するには名前空間System.Collections.Genericが必要です。
using System.Collections.Generic;
Listオブジェクトの宣言
Listはクラスなのでnewを使用しインスタンスを作成を行います。
また、Listはジェネリッククラスなのでデータ型を指定する必要があります。
List<データ型>変数名=new List<データ型>();
使用例
using System;
using System.Collections.Generic;
class Sample
{
static void Main(string[] args)
{
List intList = new List();
List> strListList = new List>();
}
}
ListのListも作成することもできます。
コンパイル時に型の評価がされるvarを使用することも可能です。
例
var strListList = new List>();
実際の使用例を紹介します。
using System;
using System.Collections.Generic;
class Sample
{
static void Main(string[] args)
{
var strList = new List();
strList.Add("Yamada");//0番目にYamadaを代入
strList.Add("Tarou");//1番目にTarouを代入
string str1 = strList[0];
string str2 = strList[1];
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
出力結果
Yamada
Tarou
配列と同じようにインデックス番号は0から始まります。
またListの要素は追加、挿入順になります。
宣言と同時に値を代入
宣言と同時に値を代入することができます。
{}の中に値を記述します
使用例
List strList = new List() { "a", "b", "c" };
これはインデックス番号の0番目にa,1番目にb,2番目にcを代入しています。
Listクラスのメソッド
Listクラスのよく使われるメソッドを一部紹介します。
Addメソッド
AddメソッドはListに要素を追加したいときに使用します。
使用例
using System;
using System.Collections.Generic;
class Sample
{
static void Main(string[] args)
{
var strList = new List();
strList.Add("japan");//0番目にjapanを代入
string str1 = strList[0];
Console.WriteLine(str1);
Console.ReadKey();
}
}
出力結果
japan
Removeメソッド
Listの要素の値を指名して削除するためにはRemoveメソッドを使用します。
使用例
using System;
using System.Collections.Generic;
class Sample
{
static void Main()
{
var strList = new List();
strList.Add("soba");
strList.Add("udon");
strList.Add("kisimen");
strList.Remove("udon");
Console.WriteLine("[{0}]", string.Join(", ", strList));
Console.ReadKey();
}
}
出力結果
soba,kisimen
その他のメソッド
Insert
Insertメソッドは指定した場所に要素を使う為に使います。
第1引数に要素の番号(インデックス)、第2引数に追加した値を指定します。
List型変数.Insert(要素の番号,値)
Sortメソッド
SortメソッドはListの要素をソートするために使います。
例
List型変数.Sort();
Clearメソッド
ClearメソッドはListの要素を全て削除するために使います。
例
List型変数.Clear();
RemoveAtメソッド
RemoveAtメソッドはインデックスを指定して要素を削除するために使います。
引数には0から始まる要素の番号(インデックス)を指定します。
List型変数.RemoveAt(要素の番号);
Findメソッド
FindメソッドはListの要素を検索し条件に一致する要素を取得するためにつかいます。
List型変数.Find(条件);
ForEachメソッド
ForEachメソッドはListの要素を順番に取り出して処理を行うために使います。
またこのメソッドの引き数はList要素のデータ型を引数とするメソッド(デリゲート型)のため通常はラムダ式で無名関数を作り渡します。
例
using System;
using System.Collections.Generic;
class Sample
{
public static void Main()
{
List intlist = new List {1, 2, 3};//List型のintlistを宣言し初期化
intlist.ForEach(i => {//ForEachを使用し各要素を順番に処理する
Console.WriteLine(i);
});
}
}
まとめ
C#のListについて簡単に説明しました。
プログラムを作成するにあたりListはよく使われるものであるため参考になれば幸いです。