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