C#再考_No2 (イントロダクション)
0.はじめに
「独習C#」の内容をベースに考えたことや調べたことをまとめました。
1.第一章:イントロダクション
(最初はわかりづらかったこと)
〇 プロジェクト:メインのプログラム(exe)やライブラリ(dll)
ソリューション:プロジェクトをまとめたもの
〇 以下のような包含関係がある
名前空間>クラス>メソッド これらはブロック({})で区切られる。
命令文は;で区切られる。
(あんまり使用しないので忘れていたこと)
〇 class ブロックに含まれる要素のことをメンバー。
〇 「名前空間+クラス名」:完全修飾名
using で名前空間を省略した場合:単純名
〇 Mainメソッドがエントリーポイントになりますが、ソリューションエクスプローラーを右クリックして「プロパティ」を選択し、スタートアッププロジェクトを変更することができます。
(あんまり使いませんが。。)
〇 トップレベルステートメント:定型的な部分を省略できる機能
あんまり使わない気も。。
(よく使う機能)
〇 変数を挿入する際に文字列補間式 $ のほうが、string.Formatを使用するより順番を気にしないでよいので便利だと思っています。
var text=$"test{name}";
〇 コメントはなるべく単一行コメントにしています(//)。
(行を選んでCtrl+K⇒Ctrl+C, 戻すときはCtrl+K⇒Ctrl+U)
ドキュメンテーションコメントはコードを書いた後に、///と記述するとparamとかも書いてくれるので便利です。
ただコメント詐欺もあったりするので、何をしているかの記述より、何を意図しているのかということを単一コメントで書いてあるほうがよかったりもします。
(自分が必要だと思うこと:特に独習C#には記載はないです。)
〇 visual studio の小技
1) コードの一括自動インデント : Ctrl+K⇒ Ctrl+D
2) [クイック アクションとリファクタリング] メニューを開く:Ctrl+.
var p1 = new Person("suzuki", 20);
急にPersonクラスを生成し、Person部分にカーソルを合わして、Ctrl+.をおすと[クイック アクションとリファクタリング] メニューが開きます。
以下のようなclass Personができるので編集が早くなります。
internal class Person
{
private string v1;
private int v2;
public Person(string v1, int v2)
{
this.v1 = v1;
this.v2 = v2;
}
}
他にも以下のようにクラスを作って、次の行くらいにカーソルがあるときにctrl+. で「コンストラクタを生成する」を選ぶと、メンバー選択画面が開きます。
public class Person
{
public string Name { get; set; }
public int Age { get; set;}
}
チェックすると以下のようにコンストラクタが生成します。
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
〇 .NET の各バージョンのサポート状況(これより前のバージョンはサポート対象外)
.NET ダウンロード (Linux、macOS、Windows) (microsoft.com)
.net 6=>サポート期限:2024年11月12日
.net 7=>サポート期限:2024年5月14日
.net 8=>サポート期限:2026年11月10日
.net 9=>preview
〇 .net周りの名前混乱(もう少し名前を変えてほしい気もします。)
1) .net framework:Windows でアプリケーションをビルドして実行するためのソフトウェア開発フレームワーク (サポート期限が切れているので、.net へ移行してください)
2) .net core : Windows、Linux、macOS向けのクロスプラットフォーム用のフレームワーク(サポート期限が切れているので、.net へ移行してください)
3) ASP.NET :オープンソースの Web フレームワーク(.net framework)
4) ASP.NET Core:オープンソースの Web フレームワーク(クロスプラットフォーム)