この記事はC#を未経験の人がざっくりとC#について理解するため入門記事的なものです。
今回はWindowsで動くプログラムってどんなのがあるの?という話です。
VisualStudioをインストールするときに「.NET デスクトップ開発」にチェックを入れたと思います。
これでWindowsで動くプログラムをつくるための環境がインストールされています。

インストールがまだの方はこちらをどうぞ、
[C#開発環境]VisualStudio2022のインストール
VisualStudioってなに?という方はこちらの記事をどうぞ、

「.NET デスクトップ開発」でなにがつくれる?
「.NET デスクトップ開発」では、デスクトップアプリケーション、コンソールアプリケーション、あとはクラスライブラリを作ることができます。
画面(ウィンドウ)が表示されるプログラムがデスクトップアプリケーション、
画面(ウィンドウ)が表示されないのプログラムがコンソールアプリケーションです。
クラスライブラリはよく使う処理をまとめたもので他のプログラムから使用される(クラスライブラリ単体では実行できないってこと)。
コンソールアプリケーションとは?
コンソール画面(コマンドプロンプト)を使って動かすアプリケーション
アイコン(実行ファイル)をクリックしても見かけ上何も起こらない(実は動いている)
決められた(ソースファイルで記載された)処理を実行したらプログラムが終了する
専用の画面が必要ない時(定期作業の自動実行とか)に使われる。
また、1つのソースファイルで最低限動くプログラムが作れるのでちょっとしたコードを試したり、C#の文法を勉強するのに使われたりする。
こんな黒い画面を使って実行するのがコンソールアプリ

コンソールアプリの作り方についてはこちらの記事をどうぞ

デスクトップアプリケーションとは?
アイコン(実行ファイル)をクリックすると画面が出てくるアプリケーションのこと
基本的に画面の閉じるボタンをクリックしない限りプログラムは終了しない
VisualStudioではWindowsで動くデスクトップアプリケーションを作る方法を2つ用意している
・Windows Forms
・WPF(Windows Presentation Foundation)
Windos FormsはC#が誕生した昔からある
いまから勉強するならWPFでいいと思う
1つの画面でデザインを決めるファイルとコード書くファイルで分かれている
デザインを決めるファイルでボタンとかチェックボックスとかの部品(コントロールとよばれる)を画面のどこに配置するかを書いて、コードを書くファイルにボタンがクリックされた時にどういう処理をするかとかを書いていく感じでプログラミングしていく。
こんな感じにウィンドウにコントロールと呼ばれる部品(ボタンとかテキストボックスとか)を配置して処理を書いていくのがデスクトップアプリ。

実行ファイルってしれっと書いてるけどなにさ?
ソースファイルから作られるプログラムのこと、VisualStudioが作ってくれる。拡張子が「.exe」のファイルでそのファイル単体で実行ができる。コンソールアプリとデスクトップアプリはこのファイルを作って配布したり、自分で使ったりするのがゴール。
C# 記事まとめページに戻る(他のサンプルコードもこちら)

コメント