コレクション【C#】

C#文法:コレクション:A02_プロジェクトの作成

ここからは、実際にサンプルコードを書きながらコレクションについて学んでいきます。そのための準備として、まずは本コースを通じて使用するプロジェクトを作成しておきましょう。

図1 プロジェクトの作成

Visual Studioを起動する

まずはVisual Studioを起動します。本書ではVisual Studio 2026を使用しています。以前のバージョンでも手順はほぼ同じですが、後述するフレームワークの選択で「.NET 10.0」を選ぶため、できるだけ新しいバージョンを用意しておくとよいでしょう。

図2 Visual Studio 2026の起動画面

新しいプロジェクトの作成

起動するとスタート画面が表示されます。左側には最近開いたソリューションの一覧が並んでいますが、今回は新しくプロジェクトを作るので、右側にある「新しいプロジェクトの作成」をクリックします。

図3 スタート画面で「新しいプロジェクトの作成」をクリック

テンプレートを選択する

「新しいプロジェクトの作成」画面では、作成するアプリケーションの種類(テンプレート)を選びます。上部の検索欄に「wind」などと入力すると、Windows関連のテンプレートに絞り込めます。

この中から、タグに「C#」と表示されている「Windows フォーム アプリ」を選択します。よく似た名前のテンプレートが並んでいるので注意してください。すぐ下にある同名のテンプレートはVisual Basic用です。また、「Windows フォーム アプリケーション (.NET Framework)」は旧来の.NET Framework向けのテンプレートなので、今回は選びません。

図4 「Windows フォーム アプリ」(C#)を選択

選択したら「次へ」をクリックします。

プロジェクト名と場所を指定する

「新しいプロジェクトを構成します」画面では、プロジェクト名と保存場所を指定します。プロジェクト名はデフォルトの「WinFormsApp1」のままで構いません。場所は任意ですので、ご自身の管理しやすいフォルダーを選んでください。ここではデスクトップにしています。

図5 プロジェクト名と保存場所の指定

設定できたら「次へ」をクリックします。

フレームワークを選択する

「追加情報」画面では、使用するフレームワークを選びます。ここでは「.NET 10.0(長期的なサポート)」を選択します。.NET 10は長期サポート(LTS)版なので、学習用としても安心して使えます。

図6 フレームワークに「.NET 10.0(長期的なサポート)」を選択

「作成」をクリックすると、プロジェクトの作成が始まります。

図7 プロジェクトを作成しています

プロジェクトの完成

しばらくするとプロジェクトが作成され、フォームデザイナーに空のForm1が表示されます。

図8 Form1のデザイナー画面

ソリューション エクスプローラーを開くと、WinFormsApp1プロジェクトの中に「依存関係」「Form1.cs」(Form1.Designer.cs、Form1.resxを含む)「Program.cs」が作られていることが確認できます。

図9 ソリューション エクスプローラーで生成されたファイルを確認

自動生成されたコード(参考)

動画の中ではコードの中身までは開きませんが、テンプレートによってどのようなコードが自動生成されているのかを確認しておきましょう。これから書いていくサンプルコードは、この土台の上に追加していくことになります。

まずはアプリケーションの入り口となるProgram.csです。Mainメソッドの中でApplication.Run(new Form1())が呼ばれており、起動時にForm1が表示される仕組みになっています。

リスト1 Program.cs(自動生成)

namespace WinFormsApp1
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            // To customize application configuration such as set high DPI settings or default font,
            // see https://aka.ms/applicationconfiguration.
            ApplicationConfiguration.Initialize();
            Application.Run(new Form1());
        }
    }
}

 

次にForm1.csです。現時点ではコンストラクタでInitializeComponent()を呼び出しているだけです。以降のレクチャーでは、このフォームにボタンを配置し、ボタンのクリックイベントの中にコレクションのサンプルコードを書いていきます。

リスト2 Form1.cs(自動生成)

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

 

プロジェクトファイル(WinFormsApp1.csproj)も見ておきます。TargetFrameworkがnet10.0-windowsになっており、先ほど選択した.NET 10が使われていることがわかります。また、ImplicitUsingsが有効になっているため、System.Collections.Genericなどのよく使う名前空間は、usingを書かなくても利用できます。List<T>などのコレクションをすぐに使い始められるのはこのためです。

リスト3 WinFormsApp1.csproj(自動生成)

<Project Sdk="Microsoft.NET.Sdk">
 
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net10.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <UseWindowsForms>true</UseWindowsForms>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
 
</Project>

まとめ

本章では、Visual Studio 2026で「Windows フォーム アプリ」(C#)のテンプレートを選び、フレームワークに.NET 10.0を指定してプロジェクトを作成しました。これで準備は完了です。次章からは、このプロジェクトを使ってコレクションのサンプルコードを書いていきます。

C#文法:コレクション

■非公開コース「C#14新機能」プレゼント:
非公開コース「C#14新機能」(80分)をご覧になりたい方は
こちらからURLとパスワードを発行していますので、ご覧になってみてください。
非公開コース「C#14新機能」を観る

A01_はじめに
A02_プロジェクトの作成
B01_配列とは
B02_配列の生成とアクセス
B03_生成と同時に値を設定する
B04_型推論による生成
B05_メソッドの引数などにする場合の注意点
B06_Length
B07_IndexOfでの検索
B08_FindIndexでの検索
B09_Find
B10_Exists
B11_FindAllとFindLast
B12_誤ったコピー
B13_Array.Copy
B14_範囲指定のコピー
B15_Resize
C01A_ArrayList
C02_List
C03_List 動的な要素の変更
C04_Listのコンストラクタ
C05_Listのコンストラクタ_Capacity
C06_ListTからArrayクラスのメソッドが呼ばれている
D01_コレクションインタフェースとは
D02_異なるコレクションクラスに互換性を持たせる
D03_インタフェースの階層構造
D04_クライアントができる操作を制限させる
D05_クライアントができる操作を制限させる_後半
D06_Enumerableの拡張メソッドに関して
D07_ReadOnly系のコレクションインタフェース
D08_AsReadOnly
D09_ToListでコピーする
D10_ListTはprivateで使う

■非公開コース「C#14新機能」プレゼント:
非公開コース「C#14新機能」(80分)をご覧になりたい方は
こちらからURLとパスワードを発行していますので、ご覧になってみてください。
非公開コース「C#14新機能」を観る