コレクションを扱う:リスト、辞書、キュー
C#のコレクションを使って動的なデータを効率的に管理します
「コレクションを扱う:リスト、辞書、キュー」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン6/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全6レッスンが含まれています。
コレクションの操作:リスト、ディクショナリ、キュー
コレクションの操作:リスト、ディクショナリ、キュー
次のレッスンへようこそ!このレッスンでは、C#のコレクション(リスト、ディクショナリ、キューなど)と、プログラムでそれらを効果的に使用する方法を学びます。それでは始めましょう!

コレクションとは
コレクションとは
C#のコレクションは、関連するオブジェクトのグループを格納・管理するクラスです。配列とは異なり、コレクションは動的で、より柔軟な機能を備えています。
重要ポイント:コレクションには要素の追加、削除、検索を行う組み込みメソッドが用意されているため、データのグループを簡単に扱えます。
リストの操作
リストの操作
リストは、重複する要素を許容し、要素の順序を維持するコレクションです。例:
ヒント:順序付けられたデータのコレクションを格納・操作する必要がある場合は、リストを使用します。
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana"); // Add an element
names.Remove("Bob"); // Remove an element
Console.WriteLine("Names:");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
ディクショナリの操作
ディクショナリの操作
ディクショナリは、キーと値のペアを格納するコレクションです。各キーは一意で、対応する値へのアクセスに使用します。例:
重要ポイント:一意のキーに基づいて値をすばやく検索する必要がある場合、ディクショナリが適しています。
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, int> ages = new Dictionary<string, int> {
{ "Alice", 25 },
{ "Bob", 30 },
{ "Charlie", 35 }
};
ages["Diana"] = 28; // Add a key-value pair
ages.Remove("Bob"); // Remove a key-value pair
Console.WriteLine("Ages:");
foreach (var entry in ages) {
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
}
}
キューの操作
キューの操作
キューは、先入れ先出し(FIFO)の原則に従うコレクションです。要素は末尾に追加され、先頭から削除されます。例:
ヒント:追加された順番に処理する必要があるタスクには、キューを使用します。
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Add to the queue
tasks.Enqueue("Task 2");
tasks.Enqueue("Task 3");
Console.WriteLine("Processing tasks:");
while (tasks.Count > 0) {
Console.WriteLine(tasks.Dequeue()); // Remove from the queue
}
}
}
コレクションの比較
コレクションの比較
ここでは、各コレクションを簡単に比較します。
- リスト:順序を維持し、重複を許容し、インデックスによるアクセスを提供します。
- ディクショナリ:高速な検索のためにキーと値のペアを格納します。
- キュー:先入れ先出しの順序で要素を処理します。
ヒント:用途に最も適したコレクション型を選択してください。
練習課題
練習課題
ディクショナリを使って商品の価格を格納し、キューを使って顧客の会計処理をシミュレートするプログラムを作成してください。例:
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, double> products = new Dictionary<string, double> {
{ "Apple", 0.5 },
{ "Banana", 0.3 },
{ "Carrot", 0.2 }
};
Queue<string> customers = new Queue<string>();
customers.Enqueue("Customer 1");
customers.Enqueue("Customer 2");
Console.WriteLine("Processing customers:");
while (customers.Count > 0) {
string customer = customers.Dequeue();
Console.WriteLine($"{customer} is buying:");
foreach (var product in products) {
Console.WriteLine($"- {product.Key}: ${product.Value}");
}
}
}
}
コレクションのベストプラクティス
コレクションのベストプラクティス
次に、いくつかのベストプラクティスを示します。
- 要件(高速な検索、順序の維持、先入れ先出し処理など)に基づいて、適切なコレクション型を選択します。
- 型安全性を確保するため、ジェネリックコレクション(例:
List<T>、Dictionary<TKey, TValue>)を使用します。 - 要素にアクセスする前に、コレクションが null または空でないか必ず確認します。
ヒント:コレクションを適切に管理すると、コードの効率と可読性を高められます。
よくできました!
よくできました!
おめでとうございます!C#でリスト、ディクショナリ、キューを使ってデータを動的に管理する方法を学びました。これで「ファイルとデータの操作」カテゴリは終了です。引き続きコーディングに取り組み、開発の道のりでさらに高度なトピックを学んでいきましょう!

よくある質問
「コレクションを扱う:リスト、辞書、キュー」レッスンは無料ですか?
はい。「コレクションを扱う:リスト、辞書、キュー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全6レッスンが含まれています。
「コレクションを扱う:リスト、辞書、キュー」で何を学びますか?
C#のコレクションを使って動的なデータを効率的に管理します ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン6/6です。
「コレクションを扱う:リスト、辞書、キュー」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- インターフェース入門
- 抽象クラス
- 静的メンバーとメソッド
- 列挙型と構造体を探る
- デリゲートとイベント
- コレクションを扱う:リスト、辞書、キュー