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番目の要素を削除
このように、リストはとても柔軟にデータを扱うことができます。
まとめ
C#のList型は、複数のデータを効率よく扱うために欠かせない重要な機能です。配列と似ているようでいて、より柔軟に使える点が初心者にとっても非常に扱いやすく、実践的なプログラムにもすぐに応用できます。要素の追加や削除、インデックスによるアクセス、個数のカウントなど、基本的な操作を習得することで、データの整理や処理がスムーズに行えるようになります。リストは、C#の中でも使用頻度が高く、さまざまな場面で活躍するため、基本をしっかり押さえておくことが大切です。
たとえば、「商品リスト」や「ユーザーの名前一覧」、「ログの履歴」など、順番があり、データの増減があるような情報を取り扱う場面では、List型の力がとても役立ちます。また、AddやRemove、Count、Insertなど、シンプルなメソッドで操作できるため、直感的に使える点も大きな魅力です。
リストを使った実践プログラム
ここでは、List型の基本操作をすべて取り入れた小さなプログラムを紹介します。
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> todoList = new List<string>();
// データの追加
todoList.Add("朝ごはんを食べる");
todoList.Add("C#の勉強をする");
todoList.Add("運動する");
// 特定の位置に追加
todoList.Insert(1, "洗濯する");
// 一部削除
todoList.Remove("運動する");
// 要素数の表示
Console.WriteLine("やることリスト(" + todoList.Count + "件):");
// すべて表示
foreach (string item in todoList)
{
Console.WriteLine("- " + item);
}
// 要素が含まれているか確認
if (todoList.Contains("C#の勉強をする"))
{
Console.WriteLine("今日もC#をがんばろう!");
}
}
}
このように、C#のList型を使うことで、柔軟かつ簡潔に情報の追加・削除・確認が行えます。初心者の方は、まずはAdd()とRemove()から始めて、Insert()やContains()といった応用的なメソッドにも少しずつ慣れていくとよいでしょう。
実際の開発現場でも、List型は非常によく使われています。データベースから取得した結果を一時的に保存したり、複雑なロジックを整理するための構造として用いたりと、用途は多岐にわたります。また、LINQなどの便利な機能と組み合わせることで、さらに強力な使い方も可能になります。
今後C#を学び進めるにあたって、List型をベースにした処理の理解は非常に重要です。「配列よりも柔軟」「順番がある」「データの増減が簡単」といった特徴をしっかり覚えておきましょう。これから扱う他のコレクション(DictionaryやQueueなど)との違いも理解しやすくなります。
生徒
「リストって、ただの箱かと思ってたけど、追加も削除もできて、すごく便利ですね!」
先生
「そのとおりです。List型は、日常的な処理でとてもよく使われる機能なんですよ。動的にサイズが変えられるのが魅力です。」
生徒
「たしかに!Addで入れて、Removeで消せて、Countで数もわかるし、もうひと通り使えそうです!」
先生
「素晴らしい理解ですね。あとはInsertやContainsも使えるようになると、もっと柔軟な処理ができるようになりますよ。」
生徒
「じゃあ次は、条件に応じてリストの中身を整理するようなプログラムを作ってみようかな。」
先生
「いいですね!リストは応用の幅が広いので、ぜひ色んな場面で使ってみてくださいね。」