0Pricing
C# Academy · レッスン

コレクションを扱う:リスト、辞書、キュー

C#のコレクションを使って動的なデータを効率的に管理します

「コレクションを扱う:リスト、辞書、キュー」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン6/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全6レッスンが含まれています。

コレクションの操作:リスト、ディクショナリ、キュー

コレクションの操作:リスト、ディクショナリ、キュー

次のレッスンへようこそ!このレッスンでは、C#のコレクション(リスト、ディクショナリ、キューなど)と、プログラムでそれらを効果的に使用する方法を学びます。それでは始めましょう!

コレクションを扱う:リスト、辞書、キュー — イラスト1

コレクションとは

コレクションとは

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#でリスト、ディクショナリ、キューを使ってデータを動的に管理する方法を学びました。これで「ファイルとデータの操作」カテゴリは終了です。引き続きコーディングに取り組み、開発の道のりでさらに高度なトピックを学んでいきましょう!

コレクションを扱う:リスト、辞書、キュー — イラスト10

よくある質問

「コレクションを扱う:リスト、辞書、キュー」レッスンは無料ですか?

はい。「コレクションを扱う:リスト、辞書、キュー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. インターフェース入門
  2. 抽象クラス
  3. 静的メンバーとメソッド
  4. 列挙型と構造体を探る
  5. デリゲートとイベント
  6. コレクションを扱う:リスト、辞書、キュー
← C# Academyに戻る