C#のリスト(List型)の基本と操作方法!要素の追加・削除を学ぼう
生徒
「C#でたくさんのデータをまとめて扱う方法ってありますか?」
先生
「はい、C#では『リスト(List)』という型を使って、複数のデータをひとつにまとめて管理できますよ。」
生徒
「それってどうやって使うんですか?追加したり消したりもできますか?」
先生
「もちろんです。では、C#のList型の基本から、要素の追加・削除まで一緒に見ていきましょう!」
1. List(リスト)とは?
List(リスト)は、C#で複数のデータ(値)をひとつの入れ物のようにまとめて管理するための便利な道具です。
たとえば、「りんご」「バナナ」「みかん」という3つの果物を1つずつ別々に管理するよりも、リストに入れて管理することで、簡単に扱えるようになります。
リストは、C#の中でもよく使われるコレクション(集まり)です。配列(Array)に似ていますが、リストは後から数を増やしたり減らしたりできる点がとても便利です。
2. List型を使う準備
まずは、List型を使うために必要な「using(ユージング)」の命令を書きます。これは、List
を使えるようにするおまじないのようなものです。
using System.Collections.Generic;
これで、List型を使う準備ができました。
3. List型の基本的な作り方
リストを作るには、次のように書きます。
List<string> fruits = new List<string>();
ここでは「文字列(string)」を扱うリストを作っています。fruits
という名前のリストを用意しています。
string(ストリング)は文字や文章を表す型で、たとえば「りんご」や「こんにちは」などの言葉を扱います。
4. 要素の追加(Addメソッド)
リストにデータを追加するときは、Add
という操作を使います。
fruits.Add("りんご");
fruits.Add("バナナ");
fruits.Add("みかん");
このようにして、リストに順番に果物を追加できます。
これを実行すると、リストの中身は以下のようになります。
りんご
バナナ
みかん
5. 要素の取り出し(インデックス)
リストに追加したデータは、インデックスという番号で順番に並んでいます。インデックスは0番から始まります。
Console.WriteLine(fruits[0]); // りんご
Console.WriteLine(fruits[1]); // バナナ
fruits[0]
は、リストの最初の要素「りんご」を指します。
6. 要素の削除(Removeメソッド)
リストからデータを削除するには、Remove
を使います。
fruits.Remove("バナナ");
この操作で、「バナナ」がリストから消えます。
削除後のリストの中身は以下のようになります。
りんご
みかん
7. 要素の数を調べる(Countプロパティ)
リストにいくつデータが入っているかを調べたいときは、Count
というプロパティを使います。
Console.WriteLine(fruits.Count);
このコードを実行すると、リストに入っているデータの数が表示されます。
2
8. Listを使った簡単なプログラム例
これまで学んだ内容を使って、簡単なC#プログラムを作ってみましょう。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> fruits = new List<string>();
fruits.Add("りんご");
fruits.Add("バナナ");
fruits.Add("みかん");
fruits.Remove("バナナ");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Console.WriteLine("合計:" + fruits.Count + "個");
}
}
このコードでは、リストに果物を追加し、「バナナ」を削除した後、すべての果物を表示して、最後に合計数を出しています。
りんご
みかん
合計:2個
9. よく使うListの操作
C#のList型では、以下のような操作もよく使われます。
Clear()
:すべての要素を削除Contains()
:特定の値があるか確認Insert(index, value)
:指定した位置に追加RemoveAt(index)
:指定した位置の要素を削除
fruits.Contains("みかん"); // trueを返す
fruits.Insert(0, "ぶどう"); // 先頭に追加
fruits.RemoveAt(1); // 2番目の要素を削除
このように、リストはとても柔軟にデータを扱うことができます。