.NETダウンロード
公式ダウンロードページにアクセスすべし。すぐにインストールが完了する。必要なのは500MBほど。
C# Dev Kitをインストールする
VSCodeのエクステンションC# Dev Kitをインストールする。
これでVS Codeでの.Netの環境を整えてくれる。
Hello world!まで
VSCodeでMacならcmd+Shift+Pでパネルを開く。
.Net: New Projectを選択。
Console Appを選択し、プロジェクト名(私の場合はConsoleApp1)を入力すると自動的にファイル達が生成される。
コードはProgram.csにかかれる
実行
dotnet run
で実行!Hello worldが表示される。
Packageをインストールする
Microsoftの公式チュートリアルによると、Password generatorというものを練習例としているのでやってみる。
.NetのパッケージマネージャーはNuGetというものらしい。
https://www.nuget.org/
これにアクセスしてPassword generatorを検索する。
using PasswordGenerator;
var pwd = new Password();
var password = pwd.Next();
Console.WriteLine(password.ToString());
-
using PasswordGenerator;
:
この行は、PasswordGenerator
という名前空間を使用していることを示している。これにより、PasswordGenerator
内のクラスやメソッドをコード内で使用することが可能となる。 -
var pwd = new Password();
:
この行は、Password
クラスの新しいインスタンスを作成し、それをpwd
という変数に代入している。Password
クラスはパスワードを生成する機能を持っていると考えられる。 -
var password = pwd.Next();
:
この行は、pwd
オブジェクトのNext
メソッドを呼び出し、その結果をpassword
という変数に代入している。Next
メソッドは次のパスワードを生成するメソッドであると考えられる。 -
Console.WriteLine(password.ToString());
:
この行は、password
オブジェクトを文字列に変換し(もし既に文字列でない場合)、それをコンソールに出力している。
ディレクトリ構造
一番気になったのがディレクトリ構造。普段pythonやTypescriptなので初見「なにこれ。。」って感じでした。
調べた結果を以下に記します。
もちろんです。以下にである調で解説いたします。
概要
-
ConsoleApp1 フォルダ:
- これはメインのプロジェクトディレクトリである。
-
bin/Debug/net8.0 フォルダ:
- ConsoleApp1: ビルド後に生成された実行可能ファイルである。
- ConsoleApp1.deps.json: アプリケーションに必要な依存関係を含むファイルである。
- ConsoleApp1.dll: プロジェクトのコンパイル後の出力である .NET アセンブリである。
- ConsoleApp1.pdb: デバッグ用の情報が含まれているファイルである。
- ConsoleApp1.runtimeconfig.json: アプリケーションのランタイム設定を含むファイルである。
- PasswordGenerator.dll: NuGet を通じてインストールされた PasswordGenerator パッケージのコンパイル後の出力である。
-
obj/Debug フォルダ:
- これはビルドプロセス中に使用される中間ファイルを含むフォルダである。
- ConsoleApp1.csproj.nuget.dgspec.json: NuGet パッケージ情報が含まれている。
- ConsoleApp1.csproj.nuget.g.props および ConsoleApp1.csproj.nuget.g.targets: これらのファイルには NuGet パッケージのビルドプロパティおよびターゲットが含まれている。
- project.assets.json: プロジェクトの依存関係およびアセット情報が含まれている。
- project.nuget.cache: NuGet によって使用されるキャッシュファイルである。
-
ConsoleApp1.csproj:
- これはプロジェクトファイルで、プロジェクトの設定、依存関係、およびビルド設定を定義するものである。
-
Program.cs:
- これはアプリケーションのコードが含まれているメインの C# ソースファイルである。
-
MyFirstConsoleApp.sln:
- これはソリューションファイルで、複数のプロジェクトを含むソリューション全体に関する情報が含まれている。
他のプログラミング言語との主な違い
-
bin および obj フォルダ:
- bin フォルダには、ビルドプロセスの出力(実行可能ファイルや DLL)が含まれている。
- obj フォルダには、ビルドプロセス中に使用される中間ファイルが含まれている。これにより、ビルドパフォーマンスが向上し、ビルドごとに再生成する必要がなくなる。
-
csproj ファイル:
-
.csproj
ファイルは、XML を使用してプロジェクト設定、コンパイラオプション、プロジェクト参照、NuGet パッケージ参照などを定義するプロジェクトファイルである。JavaScript の package.json や Python の requirements.txt と似ているが、より詳細に設定できる。
-
-
NuGet パッケージ:
- NuGet は .NET のパッケージマネージャーである。PasswordGenerator のようなパッケージをインストールすると、そのパッケージと依存関係がプロジェクトにダウンロードされ、プロジェクトの設定に参照が追加される。
以上
参考資料