1 / 30

C# の 基礎 ( 開発 環境 , 変数 , 制御構造 , 配列 )

プログラミング論 第 3 回 担当: 山口崇志. C# の 基礎 ( 開発 環境 , 変数 , 制御構造 , 配列 ). C# の特徴. C# 言語 (2000 ~ ) オブジェクト指向プログラミング言語 プラットフォームに依存しない 開発 記述形式: C 言語ベース 言語モデル: Delphi Microsoft の Java 対抗 ? C# 自体はオープンな規格である Unity, PlayStation Suite , Mono Microsoft .NET Framework 共通言語 基盤 に準拠する プログラムの実行・開発環境

baylee
Télécharger la présentation

C# の 基礎 ( 開発 環境 , 変数 , 制御構造 , 配列 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. プログラミング論 第3回 担当:山口崇志 C#の基礎(開発環境, 変数, 制御構造, 配列) http://www.edu.tuis.ac.jp/~tyamagu/pl/

  2. C#の特徴 • C#言語(2000~) • オブジェクト指向プログラミング言語 • プラットフォームに依存しない開発 • 記述形式:C言語ベース • 言語モデル:Delphi • MicrosoftのJava対抗? • C#自体はオープンな規格である • Unity, PlayStation Suite, Mono • Microsoft .NET Framework • 共通言語基盤に準拠するプログラムの実行・開発環境 • 共通言語基盤:CLI (Common Language Infrastructure) • インタプリタ方式とコンパイラ方式併用 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  3. .NET Frameworkと開発実行フロー CLS based Development Environment Visual Basic Source Code C# .cs Compile Development Tools CIL: Common Intermediate Language .exe Common Language Infrastructure JIT Compile Just In Time Basic ClassLibrary Virtual Execution System Native Code Operating System Hardware http://www.edu.tuis.ac.jp/~tyamagu/pl/

  4. Microsoft Visual Studio • 商用の統合開発環境 • RAD開発環境としてはかなり早い時期に登場 • 複数言語のサポート • Java, C++, Visual Studio, ASP.NET • 共通のデータ型(CTS: Common Type System) • Microsoft Windowsとの高い親和性 RAD開発:Rapid Application Development ・開発の初期段階で動くプロトタイプを作成する ・プロトタイプの性能評価と改良を繰り返す http://www.edu.tuis.ac.jp/~tyamagu/pl/

  5. プロジェクトとnamespace • プロジェクト • ソースコード管理 • リソース管理 • ライブラリ管理 • namespace • ライブラリ管理の一種 • Javaのpackageと同様 プロジェクトA namespace a ソースコード1 ソースコード2 namespace b http://www.edu.tuis.ac.jp/~tyamagu/pl/

  6. プロジェクトの作成と管理 1. http://www.edu.tuis.ac.jp/~tyamagu/pl/

  7. プロジェクトの新規作成 2. 1. 3.入力 4. http://www.edu.tuis.ac.jp/~tyamagu/pl/

  8. レイアウトの変更 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  9. GUIオブジェクトの追加 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  10. GUIオブジェクトのプロパティ編集 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  11. コンパイルと実行 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  12. デバッグ画面 変数チェック 標準出力 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  13. ソースコードの確認(Program.cs) http://www.edu.tuis.ac.jp/~tyamagu/pl/

  14. プロジェクトファイルの確認 ・binフォルダに.exeファイルが生成される ・ダブルクリックで起動することを確認 ・Hello.exeにはVESが含まれている http://www.edu.tuis.ac.jp/~tyamagu/pl/

  15. クラスの作成 1. http://www.edu.tuis.ac.jp/~tyamagu/pl/

  16. 新規クラスの設定 1. 2.入力 3. http://www.edu.tuis.ac.jp/~tyamagu/pl/

  17. ソースコードの編集(HelloControlクラス) 編集 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  18. ボタンの追加 1. 2.ダブルクリック http://www.edu.tuis.ac.jp/~tyamagu/pl/

  19. イベントの追加と編集 ここを確認 編集 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  20. C#の言語仕様 • 言語仕様自体は構文も含めJavaと非常に近い • 参考 • Java 開発者のための C# プログラミング言語 • http://msdn.microsoft.com/ja-jp/library/ms228358(v=vs.80).aspx http://www.edu.tuis.ac.jp/~tyamagu/pl/

  21. 変数宣言 • 基本構文はJavaと同様 • C#での書式 • アクセス修飾子 変数型 識別子; • アクセス修飾子を省略した場合はprivate • Javaでの書式 • アクセス修飾子 変数型 識別子; • アクセス修飾子を省略した場合は”アクセス修飾子無し” http://www.edu.tuis.ac.jp/~tyamagu/pl/

  22. 変数宣言 • 変数制限の書式に若干制約がある • C#での書式 • アクセス修飾子 変数型[]識別子; • アクセス修飾子を省略した場合はprivate • Javaでの書式 • アクセス修飾子 変数型[]識別子; • アクセス修飾子 変数型 識別子[]; • アクセス修飾子を省略した場合は”アクセス修飾子無し” http://www.edu.tuis.ac.jp/~tyamagu/pl/

  23. C#のデータ型 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  24. 演算子とフロー制御 • 書式もほぼJavaと同様だがバージョンによりC#、Java共に使える書式が若干異なる • キャストの方式が異なる • C#はほぼBoxingが自動 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  25. クラスの定義 • 継承やインターフェイスの実装等、基本構造はJavaと同様だが書き方が異なる • C#での書式 • 修飾子 class 識別子 • 修飾子 abstract class識別子 • 修飾子 class識別子 : 親クラス • 修飾子 class 識別子 : interface1, ... • Javaでの書式 • 修飾子 class 識別子 • 修飾子 abstract class識別子 • 修飾子 class 識別子 extends 親クラス • 修飾子 class 識別子 implements interface1, ... http://www.edu.tuis.ac.jp/~tyamagu/pl/

  26. 構造体(struct) • C#ではCやC++と同様に構造体が利用できる • 構造体とクラスの違い • 複数の要素を持つ変数 • C#での位置付けは簡易的なクラス • 抽象化できない • 若干クラスよりも効率的 • C#での書式 • 修飾子 struct識別子 http://www.edu.tuis.ac.jp/~tyamagu/pl/

  27. メソッドの定義 • 書式もほぼJavaと同様 • C#での書式 • 修飾子 戻値の型 メソッド名(引数) • paramキーワードにより不特定数の引数が利用可能 • Javaでの書式 • 修飾子 戻値の型 メソッド名(引数) http://www.edu.tuis.ac.jp/~tyamagu/pl/

  28. 通常課題 • 通常課題:次のアプリケーションを作成せよ。 • フォームを1つ表示する • フォームのタイトルはHelloとする • フォーム上にはLabel, TextBox, Buttonを1つ配置する • 起動時にLabelに表示される文字列は”hello text here.”とする • 起動時にTextBoxに表示される文字列は”World”とする • Buttonに表示される文字は”Say Hello !!”とする • ButtonをクリックするとLabelの文字列が次のようになる • ”Hello [TextBoxに表示されている文字列] !!” http://www.edu.tuis.ac.jp/~tyamagu/pl/

  29. 追加課題 • 前回のMVCモデルを用いたJavaのプログラムを参考に通常課題の要件を満たすアプリケーションを作成せよ。 • なおC#で実装した場合、各クラスのフィールドとメソッドは右図のようになる。 HelloModel string prefix string postfix string name HelloControler HelloModel data string getHello() void setName(string) HelloViewer HelloControlercontroler void button_click(string) http://www.edu.tuis.ac.jp/~tyamagu/pl/

  30. 発展課題 • 通常課題:次のアプリケーションを作成せよ。 • 追加課題のHelloModelおよびHelloControlerを用いる • 設定フォームと表示フォームの2つを持つ • 設定フォームのタイトルは設定とする • 表示フォームのタイトルはHelloとする • 設定フォーム上にはTextBox, Buttonを1つ配置する • 表示フォーム上にはLabelを1つ配置する • 表示フォーム上のLabelは次の文字が表示される • ”Hello [TextBoxに表示されている文字列] !!” • 起動時は設定フォームが表示される • 起動時にTextBoxに表示される文字列は”World”とする • Buttonに表示される文字は”Say Hello !!”とする • Buttonをクリックすると表示フォームが表示される http://www.edu.tuis.ac.jp/~tyamagu/pl/

More Related