header

■はじめに

C#をはじめましょう
以前からC#なるプログラミング言語の存在は知っていましたが
仕事でも趣味でも、あまり触れる(学ぶ)機会はありませんでした。

もっぱら、Windowsプラットフォームでの開発ではCやC++を使っていて
C#が登場しても、すぐそれに乗り換えることはしませんでした。

興味はあったのですが、ようやく使い慣れた【道具】となった
C、C++から乗り換えるほどの理由が無かったからです。

ですが最近、仕事でC#を使う機会が巡ってきて必要に迫られたので^^;
こうしてホームページで記事を書いて
自分自身、C#について勉強することにしました。

まだまだ勉強をはじめたばかりですが、最初に持ったC#への印象は


  • 文法はC++にそっくり
  • C,C++のようなポインタが無い
  • ガベージコレクタ(GC)があり、Javaっぽい(メモリ管理が楽になるかな) といった感じです。 聞いた話ですと、C#はC++とJavaを足して割ったような言語 とのことですが、実際のところどうなのでしょうか。 C#を学んでも これまで使い慣れたCやC++から完全に乗り換えることは恐らく無いと思いますが 道具のひとつとしてC#も自身のラインナップに加わるよう 良い機会なので勉強してみます。
    開発環境
    Microsoft社のホームページからVisualStudio2005のβ2が無料でダウンロードできます。 (2005年7月28日現在) 記事中のコードについては、暫くはβ版で動作確認を行いますが VS2003でも、それ以外のC#コンパイラでも文法の確認を行う分には十分です。 VisualC# 2005 を起動すると下のようがUIが表示されます。 (画面はWindowsXPのクラシック形式ですので見た目がお使いの環境と異なる場合があります)
    Hello World
    何はともあれ、テキストを画面に出力するコードを書いて実際に動かしてみます。 C#のソースファイルをコマンドラインからコンパイルする方法があると思いますが 今回はVisualC#(以後VC#)にてプロジェクトを新規に作成するところからはじめます。
    新規プロジェクトを作成
    VC#のメニューより[ファイル]→[新しいプロジェクト]を選択します。 ↓のような画面が表示されたら
  • テンプレート一覧から[コンソールアプリケーション]を選択
  • [プロジェクト名]を仮に Hello と入力
  • 最後に[OK]ボタンを押します コンソールアプリとは、DOSプロンプトみたいなもの、です。 グラフィカルなUIを持たず、テキスト出力のみのアプリケーションですが 文法の勉強をする分には、まずは必要十分です。 [OK]ボタンを押し、プロジェクトが新規作成されると 次のようなコードが表示されていると思います。 VC#によって、コンソールアプリケーションの雛形コードがある程度作成されています。
    
        using System;
        using System.Collections.Generic;
        using System.Text;
    
        namespace Hello
        {
            class Program
            {
                static void Main(string[] args)
                {
                }
            }
        }
    
    
    C#のソースファイルの拡張子は .cs です。 例では program.cs の名が付けられています。
    using〜
    最初の3行、頭に using と付いている行は、 利用する名前空間(namespace)です。 そして、System とは、 VC#から利用する.NET Frameworkライブラリが属する名前空間です。 つまりこのソースコードは、 .NET Frameworkライブラリを利用可能であると宣言しています。
    namespace Hello
    続いての namespace は名前空間を表します。空間名は Hello です。 見ての通り、後のProgramクラス全体が、Hello空間にすっぽりと{}で囲われています。 Programクラスは名前空間 Hello のスコープ内に覆われました。 これで、名前空間 Helloを使うことを明示しない限り 他所のコードから勝手にProgramクラスの機能を使うことができぬようガードされます。 【補足】 実は、これから作る簡単なテキスト出力を行うために 名前空間 Hello は必須ではありませんから これの宣言文と、ブロック{}を取り払い、Programクラスを外に出しても問題ありませんが 上記のようなガード目的で、何らかの名前空間に属する方が御行儀が良さそうです。
    class Program
    Programクラスの定義です。 Mainとゆう名の関数をひとつ、持っています。 この関数がC#で最初に実行されます。 引数として、コマンドラインから可変数のパラメータを取得できます。 static キーワードは、クラスのインスタンスが作成される前に Main関数を呼び出すことを可能にするために必要なキーワードです。 (静的な関数定義) 以上で、雛形コードについての説明を終わります。 それではテキストを画面に出力してみましょう。
    テキストを画面に表示
    ↓のように、テキストを出力する処理を Main関数内に1行追加してください。
    
        using System;
        using System.Collections.Generic;
        using System.Text;
    
        namespace Hello
        {
            class Program
            {
                static void Main(string[] args)
                {
                    Console.WriteLine("Hello World");
                }
            }
        }
    
    
    編集が終わったら、コードをコンパイルします。 メニューから行う場合は[ビルド]→[ソリューションのビルド] ショートカットキーを使う場合は F6 です。 コンパイルに問題が無ければ、画面左下に[ビルド正常終了]と表示されます。
    実行
    プログラムを実行して、画面にテキストが表示されるか確認してみましょう。 メニューから[デバッグ]→[デバッグなしで開始]を選択します。 ↓のような画面が表示されれば成功です。 ここまでの説明で、最低限、テキストを表示させるプログラムが出来たので これ以後は暫くは文法について順にまとめてみます。




  • zFCodePress C#vO~OTips


    Copyright © 2008.07 - shougo suzaki
    ゥRN\Agbvy[WB