rksoftware

Visual Studio とか C# とかが好きです

Microsoft Learn で C# 入門の検証 (学べる事の確認)

C# のイベントなんかをやったりやらなかったりしていると、C# 入門用のおすすめコンテンツについて聞かれることが結構あります。
そんな中、最近 MS の Microsoft Learn 推しがアツいので、これを紹介できないかと思って、一念発起観てみることにしました。

その第 2 回目です。今回は学べる事のひとことメモを追加してみました。

■ Microsoft Learn とは

Microsoft Learn については素人なのですが、無料でブラウザ上でポチポチしながら Microsoft 技術を完全にマスターできる神コンテンツだと認識しています。
以前に少しやってみたときには、Azure の環境もサンドボックス環境が使えて無料で学習できました。C# はまだコンテンツが少ないようですが入門にきっと役立つのではと期待しています。

■ C# のコンテンツは何がある?

C# で検索すると 21 個のモジュール/ラーニングパスがヒットします。

■ ヒットするモジュール/ラーニングパス

モジュール/ラーニングパス
名前 時間 所属するラーニングパス 含まれるモジュール 学べる事
モジュール C# で英数字データをプレゼンテーション用に書式設定する 39 分 C# でデータを処理する - 複合書式設定 string.Format("{0} {1}!", first, second);
文字列補間 $"{first} {second}!"
通貨の書式設定 :C $"Price: {price:C} (Save {discount:C})"
Windows の表示言語の影響 カルチャ
カンマフォーマット $"M: {measurement:N} u"
表示桁数指定 $"M: {measurement:N4} u"
M: 123,456.7891 u
パーセンテージ P $"Tax rate: {tax:P2}" Tax rate: 36.79 %
PadLeft()、PadRight()
Trim()、TrimStart()、TrimEnd()、GetHashcode()、Length
Contains()、StartsWith()、EndsWith()、Substring()
Replace()、Insert()、Remove()
Split()、ToCharArray()
モジュール C# でヘルパー メソッドを使用して配列の操作を実行する 39 分 C# でデータを処理する - 配列 Sort() と Reverse()
配列 Clear() と Resize()
空の文字列と null
文字列 Split() と Join()
文字列 ToCharArray()
モジュール C# で do-while ステートメントと while ステートメントを使用して、ループ ロジックをコードに追加する 23 分 C# でアプリケーションにロジックを追加する - do-while ステートメント
while ステートメント
continue ステートメント
モジュール C# のキャストと変換の手法を利用してデータ型を変換する 36 分 C# でデータを処理する - int + string は string になる
暗黙的な変換
int → decimal は暗黙的な変換。decimal → int はキャストが必要
decimal → int では情報が失われる
ToString()
Parse() ヘルパー メソッド
Convert クラス
キャストは切り捨て Convert.ToInt32() は近い整数に丸める
TryParse() メソッド
out パラメーター
モジュール C# での for ステートメントを使用したコード ブロックの反復処理 24 分 C# でアプリケーションにロジックを追加する - for ステートメント
foreach 反復時に配列の値を更新できない
for、foreach の後の { } は無くてもいい
break ステートメント
モジュール C# での switch-case コンストラクトを使用したコード フローの分岐 17 分 C# でアプリケーションにロジックを追加する - switch ステートメント
switch-case と if-elseif-else の選択
モジュール C# でコード ブロックを使用して変数のスコープとロジックを制御する 26 分 C# でアプリケーションにロジックを追加する - コード ブロック 内・外で宣言した変数を内・外で使えるか
メソッド、クラス、名前空間を定義するコードブロック
同じクラス内のメソッド呼び出し、違うクラスのメソッド呼び出し
同じ名前空間のクラス参照、違う名前空間のクラス参照
using ステートメント
if の後に { } は無くてもいい。改行せず書いてもいい。
モジュール C# でブール式を評価して決定を行う 30 分 C# でアプリケーションにロジックを追加する - 式とは
等値演算子 ==
ToUpper() ToLower() Trim()
メソッドチェーン
非等値演算子 != > < >= <=
ブール値を返すメソッド Contains()、StartsWith()、EndsWith()
論理否定演算子 !
条件演算子 いわゆる参考演算子 ?:
モジュール C# で規則、空白文字、コメントを使用して読みやすいコードを作成する 29 分 C# の最初のステップ - 名前付け規則、コメント
インデント
空白行で区切る
{ } の位置
モジュール C# で if-elseif-else ステートメントを使用して決定ロジックをコードに追加する 33 分 C# の最初のステップ - if-elseif-else ステートメント
条件を評価するためのブール式
論理演算
コード ブロック
モジュール C# で配列と foreach ステートメントを使用して、データのシーケンスを格納し、反復処理する 39 分 C# の最初のステップ - 配列
foreach
モジュール C# で基本的な文字列を書式設定する 32 分 C# の最初のステップ - エスケープ文字シーケンス \n \t \" \r など
逐語的文字列リテラル @""
Unicode エスケープ文字 "\u3053\u3093\u306B\u3061\u306F"
文字列連結
文字列補間 $""
モジュール C# を使用して .NET クラス ライブラリからメソッドを呼び出す 32 分 C# の最初のステップ - .NET クラス ライブラリとは
名前空間とは
new でインスタンス化してインスタンスのメソッド呼び出し
静的メソッド インスタンス メソッド
オーバーロード
Intellisense
モジュール C# コードで正しいデータ型を選択する 34 分 C# でデータを処理する - 値の型と参照型
整数型および浮動小数点数型
符号付きおよび符号なし整数型
string は参照型だが new しなくてよい
モジュール C# でリテラル値と変数値を使用してデータを格納および取得する 26 分 C# の最初のステップ - char リテラル
int リテラル
decimal リテラル
bool リテラル
変数の宣言
変数名のルールと表記規則
型推論の var
モジュール C# で数値に基本的操作を実行する 23 分 C# の最初のステップ - 数値の加減乗除算
暗黙の型変換 string と int を足すと string
かっこで演算順をコントロールできる
剰余演算子 %
インクリメントとデクリメント
モジュール 最初の C# コードを記述する 17 分 C# の最初のステップ - Console.WriteLine("Hello World!");
コンパイルエラーをだしてみる
Console.WriteLine Console.Write の違い
コンパイラ
リテラル文字列
ステートメント
メソッド
クラス
という言葉の存在
(まだ static クラスだけ)
末尾に ; が必要である
モジュール C# で組み込みの文字列データ型メソッドを使用して、文字列の内容を変更する 29 分 C# でデータを処理する - IndexOf()、IndexOfAny()、LastIndexOf()、Substring()
const キーワード
Remove()、Replace()
ラーニング パス C# でデータを処理する 2 時間 57 分 - C# コードで正しいデータ型を選択する
C# のキャストと変換の手法を利用してデータ型を変換する
C# でヘルパー メソッドを使用して配列の操作を実行する
C# で英数字データをプレゼンテーション用に書式設定する
C# で組み込みの文字列データ型メソッドを使用して、文字列の内容を変更する
ラーニング パス C# でアプリケーションにロジックを追加する 2 時間 - ・C# でブール式を評価して決定を行う
・C# でコード ブロックを使用して変数のスコープとロジックを制御する
・C# での switch-case コンストラクトを使用したコード フローの分岐
・C# での for ステートメントを使用したコード ブロックの反復処理
・C# で do-while ステートメントと while ステートメントを使用して、ループ ロジックをコードに追加する
ラーニング パス C# の最初のステップ 3 時間 51 分 - ・最初の C# コードを記述する
・C# でリテラル値と変数値を使用してデータを格納および取得する
・C# で基本的な文字列を書式設定する
・C# で数値に基本的操作を実行する
・C# を使用して .NET クラス ライブラリからメソッドを呼び出す
・C# で if-elseif-else ステートメントを使用して決定ロジックをコードに追加する
・C# で配列と foreach ステートメントを使用して、データのシーケンスを格納し、反復処理する
・C# で規則、空白文字、コメントを使用して読みやすいコードを作成する

■ まとめ

合計の想定所要時間は 9 時間程度のようです。結構時間がかかりますね。
内容は基礎的でありながらも結構マニアックなところも抑えている部分もあります。コピペだけでなく何となく自分でコード書けるようになってきた頃の基礎固めに良さそうです。
ただ、言語仕様の網羅としては実用として不十分なので別途何かでの学習も必要です。