C#の基本
C#とは
• プログラミング言語のひとつでありC、C++、 Java等に並ぶ代表的な言語の一つである • 容易にGUI(グラフィックやボタンとの連携が できる)プログラミングが可能である • メモリ管理等の煩雑な操作が必要なく、比較 的初心者向きの言語であるC#の利点
• C、C++に比べて
→メモリ管理が必要ない、GUIが作りやすい ・Javaに比べて
C#の使い方
• C#を動かすには開発環境を使う方法、テキ ストエディタとコンパイラを用いる方法がある • テキストエディタから行う方法は、コマンド操 作等に慣れる必要があり 作業が複雑になる • ここでは開発環境Visual C# 2010 Express を用いて学習を行うダウンロード方法
• 開発環境であるVisual C# 2010 Express を microsoftのサイト
(http://www.microsoft.com/japan/msdn/vst
ダウンロード方法
リンク先にてC#の開 発環境をインストール する
ダウンロード方法
• このダウンロードには数十分を要する。 • スタート→すべてのプログラム
開発環境の使い方
• 開発環境のスタートページより
開発環境の使い方
• Windowsフォームアプリケーションを選択 • 今回は名前を“test”としてOKを押す
名前を“test” に変更する
開発環境の使い方
• これでプログラムを書く環 境が整った。 • この時点では1枚のウィ ンドウが表示されるプロ グラムが準備されている • 緑三角の実効ボタンをク リック開発環境の使い方
• 1枚のウィンドウが起 動する • プログラムはウィンド ウの×ボタンを押す、 または青色の四角形 の停止ボタンを押す と終了する開発環境の使い方
• プログラムは“すべてを保存”ボタンより保存 を行う
開発環境の使い方
• 再び作業を開始するときには”test”フォルダ 内の”test.sln”より開始する
初めてのC#プログラム
目標
• ウィンドウ上のボタンを押す
初めてのC#プログラミング
• まず、表面上のウィンドウを作る
初めてのC#プログラミング
• まず、ボタンを配置する • ツールボックスより Buttonを左クリックで選択する。 • そのまま、フォーム上を左クリック するとButtonを設置することがで きる。初めてのC#プログラミング
• button1を右クリック→プロパティを開く • Textの値を”button1”から”表示”に変える
初めてのC#プログラミング
• 同様にツールボックスより Labelをで選択し、フォーム
初めてのC#プログラミング
• label1を右クリック→プロパティを開く • Fontの値を”MS UI Gothic, 9pt”から
初めてのC#プログラミング
• Textの値を”label1”から空欄に変える • 以下の様にウィンドウが完成する。
初めてのC#プログラミング
• 次に、内部のコードを記述する
• 今回はボタンの中に動作を記述していく • 作成したボタンをダブルクリックする
初めてのC#プログラミング
• コード画面が表示され以下の様なコードが書かれている using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace test {public partial class Form1 : Form {
public Form1() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
}
} }
初めてのC#プログラミング
• まずは、コードに関しての説明はせず、最低限動く方法を説 明する。
private void button1_Click(object sender, EventArgs e) {
label1.Text = "Hello C#";
}
初めてのC#プログラミング
• コードの記載が終わったら緑三角のボタンから動かしてみる • 正しく記載できたなら、予定どうりボタンを押すと“Hello C#”
コード解説
• 部分毎に解説する using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; • 一番上に書かれている部分であり、名前空間 (namespace)と呼ばれるコード解説 名前空間とは
• プログラミングに用いる関数(sin、cos、対数関数の様なもの )やボタンやウィンドウ等の情報を定義するものである • 例えば、 using System.Windows.Forms; の1文はボタン、ラベル、ウィンドウを定義してる System.Windows.Forms名前空間をこのプログラムで用い るという意味である • このプログラムでも様々な名前空間を用いていることが分か るコード解説
namespace test { ~ } • namespace test{~} というのは今回新たに作っ ていく”test”名前空間を示している • 今後のプログラミングではこの”test”名前空間の中 に記載していくことになるコード解説
public partial class Form1 : Form { ~ } • ”test”名前空間の中身を解説する • ここには画面上で作ったウィンドウ(以降はフォーム と呼ぶ)に関する情報のコードを記載する • このようなコードの塊のことをクラス(class)と呼ぶ • 今回の場合は”Form1”クラスを宣言していることに なる
コード解説 クラス
• コードのある一定の塊のことである • Form1を例に考える →作成したForm1にはボタンとラベルのコードを 記載し、ボタンを押した時の動作などを記載を 記載する必要がある • このように、Form1に関連するコードは一箇所 にまとめて書けると便利コード解説 クラス
• 他にも画像上で置いたボタンやラベルもクラ スである • それぞれ、Form1と同様に書かれている文字 、大きさ等の定義がなされている • 名前空間も実はクラスの集合体であるコード解説
public Form1() { InitializeComponent(); } • Form1クラスの中身を確認する • ここの部分は開発環境により画面上で作った情報 (ボタンの大きさ、ラベルの位置、フォント等)を自動 でコードに変換してくれるコード解説
private void button1_Click(object sender, EventArgs e) { label1.Text = "Hello C#"; } • ここでは、Form1の中の画像上でおいたボタ ン(button1)が押された時の動作(イベント) を記載する
コード解説
label1.Text = "Hello C#"; • label1というのは画像上で置いたラベルのことであり、label1.Textというの はそのラベルのTextの値(現在は空欄)を示す • “Hello C#”はHello C#という文字であることを示す。つまり、” ”で囲むとこ れが文字であるという意味になる。(コンピュータは基本的に数字として理 解しようとする) • プログラミング言語ではイコール(=)は左辺に右辺の値を代入するという 意味になる • よって、この1文は“label1.Textに“Hello C#”を代入しなさい”という意味に なるコード解説 まとめ
• このように、{}が多く複雑に見えるコードも分 割することによりその構造を把握することが できた