目次

概要

ポイント
  • C# プログラムは Main から始まります。

  • クラス」とか「名前空間」とかは、今のところおまじない(後々説明)。

C#の簡単なプログラム例

まずは C# を用いて書かれた簡単なプログラムを見てみましょう。

  • C#
  • VB
  • F#
  • C++
using System;
 
class Program
{
    static void Main(string[] args)
    {
        // 初めてC#を学ぶ方々にご挨拶
        Console.WriteLine("皆様、はじめまして");
    }
}
Module Program
 
    Sub Main()
        ' 初めてVisual Basicを学ぶ方々にご挨拶
        Console.WriteLine(("皆様、はじめまして")
    End Sub
 
End Module
// 初めてF#を学ぶ方々にご挨拶
open System
Console.Write "皆様、はじめまして"
#include "stdafx.h"
 
using namespace System;
 
int main(array<System::String ^> ^args)
{
  // 初めてC++/CLIを学ぶ方々にご挨拶
    Console::WriteLine(L"皆様、はじめまして");
    return 0;
}

これからしばらくの間は using とか class という部分のことは忘れて、 背景色を変えて強調してある部分だけを注目してください。

C#のプログラムは、すべてこのMainと書いてある部分から始まります 。 このプログラムは、画面(DOSプロンプト中)に“皆様、始めまして。”という文字を表示します。 Console.Writeは文字や数値を画面に出力するためのもの で、詳しくは「ライブラリ」で説明します。 また、 //から始まる行はコメント で、プログラムの動作とは関係ありません。詳しくは「コメント」で説明します。

ちなみに、 usingは「名前空間」で、 classは「クラス」で、 publicは「実装の隠蔽」で、 staticは「静的メンバー」で、 voidは「関数」で説明していきます。

GUIプログラム例

C# では GUI (Graphical User Interface: 要するに、Windowsなどのようにボタンやメニューなどをマウスで操作するようなもの)プログラミングも行えます。

GUI プログラムは文字ベース(CUI: Character User Interfaceという)のプログラムに比べて煩雑な処理が多く、難しいので、ここでは例を挙げるにとどめます。

Ver. 3.0

ちなみに、この例は、.NET Framework 3.0、C# 3.0 以降で動きます。 詳しくは、「Windows Presentation Foundation」で説明します。

  • C#
  • VB
  • F#
using System;
using System.Windows;
using System.Windows.Controls;

public class Program
{
    [STAThread]
    static void Main()
    {
        var button = new Button { Content = "ここを押せ" };
        button.Click += (sender, e) => MessageBox.Show("ようこそ");

        var win = new Window
        {
            Title = "サンプルプログラム",
            Width = 300,
            Height = 200,
            Content = button,
        };

        var app = new Application();
        app.Run(win);
    }
}
Module VBSample

    Sub Main()
        Dim button = New Button With {.Content = "ここを押せ"}
        AddHandler button.Click, Function(sender, args) {MessageBox.Show("ようこそ")}

        Dim win = New Window With
                  {
                      .Title = "サンプルプログラム",
                      .Width = 300,
                      .Height = 200,
                      .Content = button
                  }

        Dim app = New Application()
        app.Run(win)
    End Sub

End Module
open System
open System.Windows
open System.Windows.Controls
 
let button = new Button(Content = "ここを押せ")
button.Click.Add(fun x -> MessageBox.Show("ようこそ") |> ignore)

let win = new Window(
                     Title = "サンプルプログラム",
                     Width = 300.0,
                     Height = 200.0,
                     Content = button)

[<STAThread>]
do
    let app = new Application()
    app.Run(win) |> ignore

C# 3.0 WPF によるGUIプログラムの例
C# 3.0 WPF によるGUIプログラムの例

(古いコード(Windows Forms))

.NET Framework 2.0 時代の古いコードも残しておきます。 詳しくは、「GUI アプリケーション」で説明します。

namespace CsharpSample
{
  using System;
  using System.Windows.Forms;
  using System.Drawing;

  /// <summary>
  /// ボタンが1つ付いたウィンドウを作成し、
  /// ボタンを押したときに「ようこそ。」と書かれたメッセージボックスを表示
  /// </summary>
  class WelcomeForm : Form
  {
    Button button;

    WelcomeForm()
    {
      // ウィンドウ内にボタンをひとつ作成
      this.Text       = "サンプルプログラム";
      this.ClientSize = new Size(256, 64);

      this.button = new Button();
      this.button.Location = new Point(80, 16);
      this.button.Size     = new Size(96, 32);
      this.button.Text     = "ここを押せ";
      this.button.Click   += new EventHandler(button_Click);
      this.Controls.Add(this.button);
    }

    // ボタンが押されたときの処理
    private void button_Click(object sender, System.EventArgs e)
    {
      MessageBox.Show("ようこそ。");
    }

    static void Main() 
    {
      Application.Run(new WelcomeForm());
    }
  }
}

このサンプルプログラムでは、ボタンがひとつあるウィンドウが表示され、 ボタンを押すと“ようこそ。”というメッセージが表示されます。

C#によるGUIプログラムの例
C#によるGUIプログラムの例

ちなみに、 Visual Studio でこのソースをコンパイルする場合、 「Windows フォームアプリケーション」プロジェクトにしてください。 また、コマンドラインで csc を使ってコンパイルする場合、 (ソースファイルの名前を WelcomeForm.cs とすると)以下のようなコマンドでコンパイルします。

csc /r:system.windows.forms.dll /r:system.drawing.dll /t:winexe WelcomeForm.cs

更新履歴

ブログ