/ 17
Microsoft Learn で C# を学ぶと
どんな感じ?
1
城東.NET #38
2019年11月20日
石崎 充良
/ 17
自己紹介
石崎 充良 ( @mishi_cs )
Microsoft MVP for Developer Technologies
言語: C# XAML
活動:
・C# もくもく会 (connpass)
・城東.NET (connpass)
・C# Tokyo (connpass)
2
/ 17
Microsoft Learn
3
/ 17
Microsoft Learn
4https://docs.microsoft.com/ja-jp/
/ 17
Microsoft Learn
5https://docs.microsoft.com/ja-jp/learn/
/ 17
Microsoft Learn
6https://docs.microsoft.com/ja-jp/learn/browse/
/ 17
よし!
C# を学ぼう!
7
/ 17
フィルタしよう!
8https://docs.microsoft.com/ja-jp/learn/browse/
/ 17
フィルタしよう!
9https://docs.microsoft.com/ja-jp/learn/browse/
/ 17
フィルタしよう!
10https://docs.microsoft.com/ja-jp/learn/browse/
/ 17
フィルタしよう!
製品
.NET
.NET Core
.NET Standard
ASP.NET Core
Entity Framework Core
Xamarin
Azure
API Management
App Service
Application Gateway
Automation
Azure Active Directory
Azure Advisor
Azure DevOps
Azure Portal
Azure Resource Manager
11https://docs.microsoft.com/ja-jp/learn/browse/
Backup
Batch
Blueprints
Bot Service
CLIs
Cloud Shell
Cognitive Services
Container Instances
Container Registry
Content Delivery Network
Cosmos DB
Cost Management
Data Box Family
Data Lake
Data Science Virtual Machines
Databricks
Event Grid
Event Hubs
ExpressRoute
Files
Functions
HDInsight
IoT Central
IoT Hub
Key Vault
Kubernetes Service
Language Understanding
Load Balancer
Logic Apps
Machine Learning Service
Machine Learning Studio
Maps
Monitor
Policy
Redis Cache
SDKs
Service Bus
Site Recovery
SQL Data Warehouse
SQL Database
Storage
Stream Analytics
Traffic Manager
Virtual Machines
Virtual Network
VPN Gateway
Dynamics 365
Business Central
Customer Service
Field Service
Finance
Finance and Operations
Marketing
Operations
Sales
Supply Chain Management
Microsoft 365
Information Protection
Security Center
Security Score
Threat Protection
Microsoft Graph
Office
Office 365
Office Add-ins
Teams
Power プラットフォーム
Power Apps
Power Automate
Power BI
SQL Server
Visual Studio
App Center
Visual Studio Code
Visual Studio for Mac
Windows
ロール
AI エンジニア
DevOps エンジニア
セキュリティ エンジニア
ソリューション アーキテクト
データ アナリスト
データ エンジニア
データ サイエンティスト
ビジネス アナリスト
ビジネス ユーザー
メーカー
開発者
管理者
機能コンサルタント
レベル
初級
中級
詳細
種類
モジュール
ラーニング パス
/ 17
検索
12https://docs.microsoft.com/ja-jp/learn/browse/
/ 17
ヒット(2019/11 現在)
3 つのラーニングパス
18 のモジュール
およそ 9 時間
13
/ 17
ラーニングパス モジュール 学べるとこと
C# の最初のステップ 最初の C# コードを記述する Console.WriteLine("Hello World!");
コンパイルエラーをしてみる
Console.WriteLine Console.Write の違い
コンパイラ
リテラル文字列
ステートメント
メソッド
クラス
という言葉の存在
(まだ static クラスだけ)
末尾に ; が必要である
C# でリテラル値と変数値を使用してデータを格納および取得する char リテラル
int リテラル
decimal リテラル
bool リテラル
変数の宣言
変数名のルールと表記規則
型推論の var
C# で基本的な文字列を書式設定する エスケープ文字シーケンス n t " r など
逐語的文字列リテラル @""
Unicode エスケープ文字 "u3053u3093u306Bu3061u306F"
文字列連結
文字列補間 $""
C# で数値に基本的操作を実行する 数値の加減乗除算
暗黙の型変換 string と int を足すと string
かっこで演算順をコントロールできる
剰余演算子 %
インクリメントとデクリメント
C# を使用して .NET クラス ライブラリからメソッドを呼び出す .NET クラス ライブラリとは
名前空間とは
new でインスタンス化してインスタンスのメソッド呼び出し
静的メソッド インスタンス メソッド
オーバーロード
Intellisense
C# で if-elseif-else ステートメントを使用して決定ロジックを
コードに追加する
if-elseif-else ステートメント
条件を評価するためのブール式
論理演算
C# で配列と foreach ステートメントを使用して、データのシーケ
ンスを格納し、反復処理する
配列
foreach
C# で規則、空白文字、コメントを使用して読みやすいコードを作
成する
名前付け規則、コメント
インデント
空白行で区切る
{ } の位置
14
/ 17
ラーニングパス モジュール 学べるとこと
C# でアプリケーションにロジックを追加する C# でブール式を評価して決定を行う 式とは
等値演算子 ==
ToUpper() ToLower() Trim()
メソッドチェーン
非等値演算子 != > < >= <=
ブール値を返すメソッド Contains()、StartsWith()、EndsWith()
論理否定演算子 !
条件演算子 いわゆる参考演算子 ?:
C# でコード ブロックを使用して変数のスコープとロジックを制御
する
コード ブロック 内・外で宣言した変数を内・外で使えるか
メソッド、クラス、名前空間を定義するコードブロック
同じクラス内のメソッド呼び出し、違うクラスのメソッド呼び出し
同じ名前空間のクラス参照、違う名前空間のクラス参照
using ステートメント
if の後に { } は無くてもいい。改行せず書いてもいい。
C# での switch-case コンストラクトを使用したコード フローの分
岐
switch ステートメント
switch-case と if-elseif-else の選択
C# での for ステートメントを使用したコード ブロックの反復処理 for ステートメント
foreach 反復時に配列の値を更新できない
for、foreach の後の { } は無くてもいい
break ステートメント
C# で do-while ステートメントと while ステートメントを使用し
て、ループ ロジックをコードに追加する
do-while ステートメント
while ステートメント
continue ステートメント
15
/ 17
ラーニングパス モジュール 学べるとこと
C# でデータを処理する C# コードで正しいデータ型を選択する 値の型と参照型
整数型および浮動小数点数型
符号付きおよび符号なし整数型
string は参照型だが new しなくてよい
C# のキャストと変換の手法を利用してデータ型を変換する int + string は string になる
暗黙的な変換
int → decimal は暗黙的な変換。decimal → int はキャストが必要
decimal → int では情報が失われる
ToString()
Parse() ヘルパー メソッド
Convert クラス
キャストは切り捨て Convert.ToInt32() は近い整数に丸める
TryParse() メソッド
out パラメーター
C# でヘルパー メソッドを使用して配列の操作を実行する 配列 Sort() と Reverse()
配列 Clear() と Resize()
空の文字列と null
文字列 Split() と Join()
文字列 ToCharArray()
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# で組み込みの文字列データ型メソッドを使用して、文字列の内容
を変更する
IndexOf()、IndexOfAny()、LastIndexOf()、Substring()
const キーワード
Remove()、Replace()
16
/ 17
こんな人におすすめ
• 何となくやってきたけど、基礎を見直したい人
こういう人は別のコンテンツが良いかも?
• プログラミング初学者
• 目に見えて動くものを動かしたい
• 多言語をマスターしている人
17
/ 17
ありがとうございました。
18

Microsoft Learn で C# を学ぶとどんな感じ?

  • 1.
    / 17 Microsoft Learnで C# を学ぶと どんな感じ? 1 城東.NET #38 2019年11月20日 石崎 充良
  • 2.
    / 17 自己紹介 石崎 充良( @mishi_cs ) Microsoft MVP for Developer Technologies 言語: C# XAML 活動: ・C# もくもく会 (connpass) ・城東.NET (connpass) ・C# Tokyo (connpass) 2
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    / 17 フィルタしよう! 製品 .NET .NET Core .NETStandard ASP.NET Core Entity Framework Core Xamarin Azure API Management App Service Application Gateway Automation Azure Active Directory Azure Advisor Azure DevOps Azure Portal Azure Resource Manager 11https://docs.microsoft.com/ja-jp/learn/browse/ Backup Batch Blueprints Bot Service CLIs Cloud Shell Cognitive Services Container Instances Container Registry Content Delivery Network Cosmos DB Cost Management Data Box Family Data Lake Data Science Virtual Machines Databricks Event Grid Event Hubs ExpressRoute Files Functions HDInsight IoT Central IoT Hub Key Vault Kubernetes Service Language Understanding Load Balancer Logic Apps Machine Learning Service Machine Learning Studio Maps Monitor Policy Redis Cache SDKs Service Bus Site Recovery SQL Data Warehouse SQL Database Storage Stream Analytics Traffic Manager Virtual Machines Virtual Network VPN Gateway Dynamics 365 Business Central Customer Service Field Service Finance Finance and Operations Marketing Operations Sales Supply Chain Management Microsoft 365 Information Protection Security Center Security Score Threat Protection Microsoft Graph Office Office 365 Office Add-ins Teams Power プラットフォーム Power Apps Power Automate Power BI SQL Server Visual Studio App Center Visual Studio Code Visual Studio for Mac Windows ロール AI エンジニア DevOps エンジニア セキュリティ エンジニア ソリューション アーキテクト データ アナリスト データ エンジニア データ サイエンティスト ビジネス アナリスト ビジネス ユーザー メーカー 開発者 管理者 機能コンサルタント レベル 初級 中級 詳細 種類 モジュール ラーニング パス
  • 12.
  • 13.
    / 17 ヒット(2019/11 現在) 3つのラーニングパス 18 のモジュール およそ 9 時間 13
  • 14.
    / 17 ラーニングパス モジュール学べるとこと C# の最初のステップ 最初の C# コードを記述する Console.WriteLine("Hello World!"); コンパイルエラーをしてみる Console.WriteLine Console.Write の違い コンパイラ リテラル文字列 ステートメント メソッド クラス という言葉の存在 (まだ static クラスだけ) 末尾に ; が必要である C# でリテラル値と変数値を使用してデータを格納および取得する char リテラル int リテラル decimal リテラル bool リテラル 変数の宣言 変数名のルールと表記規則 型推論の var C# で基本的な文字列を書式設定する エスケープ文字シーケンス n t " r など 逐語的文字列リテラル @"" Unicode エスケープ文字 "u3053u3093u306Bu3061u306F" 文字列連結 文字列補間 $"" C# で数値に基本的操作を実行する 数値の加減乗除算 暗黙の型変換 string と int を足すと string かっこで演算順をコントロールできる 剰余演算子 % インクリメントとデクリメント C# を使用して .NET クラス ライブラリからメソッドを呼び出す .NET クラス ライブラリとは 名前空間とは new でインスタンス化してインスタンスのメソッド呼び出し 静的メソッド インスタンス メソッド オーバーロード Intellisense C# で if-elseif-else ステートメントを使用して決定ロジックを コードに追加する if-elseif-else ステートメント 条件を評価するためのブール式 論理演算 C# で配列と foreach ステートメントを使用して、データのシーケ ンスを格納し、反復処理する 配列 foreach C# で規則、空白文字、コメントを使用して読みやすいコードを作 成する 名前付け規則、コメント インデント 空白行で区切る { } の位置 14
  • 15.
    / 17 ラーニングパス モジュール学べるとこと C# でアプリケーションにロジックを追加する C# でブール式を評価して決定を行う 式とは 等値演算子 == ToUpper() ToLower() Trim() メソッドチェーン 非等値演算子 != > < >= <= ブール値を返すメソッド Contains()、StartsWith()、EndsWith() 論理否定演算子 ! 条件演算子 いわゆる参考演算子 ?: C# でコード ブロックを使用して変数のスコープとロジックを制御 する コード ブロック 内・外で宣言した変数を内・外で使えるか メソッド、クラス、名前空間を定義するコードブロック 同じクラス内のメソッド呼び出し、違うクラスのメソッド呼び出し 同じ名前空間のクラス参照、違う名前空間のクラス参照 using ステートメント if の後に { } は無くてもいい。改行せず書いてもいい。 C# での switch-case コンストラクトを使用したコード フローの分 岐 switch ステートメント switch-case と if-elseif-else の選択 C# での for ステートメントを使用したコード ブロックの反復処理 for ステートメント foreach 反復時に配列の値を更新できない for、foreach の後の { } は無くてもいい break ステートメント C# で do-while ステートメントと while ステートメントを使用し て、ループ ロジックをコードに追加する do-while ステートメント while ステートメント continue ステートメント 15
  • 16.
    / 17 ラーニングパス モジュール学べるとこと C# でデータを処理する C# コードで正しいデータ型を選択する 値の型と参照型 整数型および浮動小数点数型 符号付きおよび符号なし整数型 string は参照型だが new しなくてよい C# のキャストと変換の手法を利用してデータ型を変換する int + string は string になる 暗黙的な変換 int → decimal は暗黙的な変換。decimal → int はキャストが必要 decimal → int では情報が失われる ToString() Parse() ヘルパー メソッド Convert クラス キャストは切り捨て Convert.ToInt32() は近い整数に丸める TryParse() メソッド out パラメーター C# でヘルパー メソッドを使用して配列の操作を実行する 配列 Sort() と Reverse() 配列 Clear() と Resize() 空の文字列と null 文字列 Split() と Join() 文字列 ToCharArray() 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# で組み込みの文字列データ型メソッドを使用して、文字列の内容 を変更する IndexOf()、IndexOfAny()、LastIndexOf()、Substring() const キーワード Remove()、Replace() 16
  • 17.
    / 17 こんな人におすすめ • 何となくやってきたけど、基礎を見直したい人 こういう人は別のコンテンツが良いかも? •プログラミング初学者 • 目に見えて動くものを動かしたい • 多言語をマスターしている人 17
  • 18.