Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

は10分では無理だけど・・・

Slide 8

Slide 8 text

「あっこんなのもあるんだ、いいじゃん! C#」 ってUnityプログラマのみなさんに思ってもらうために、 オススメの機能を紹介!

Slide 9

Slide 9 text

● @RyotaMurohoshi(むろほし) ● C#・LINQ好きのMS MVP ● 好きなIDEはRider ● 好きなUnityの機能はTilemap

Slide 10

Slide 10 text

独断と偏見で選んだUnityでゲームロジックを ガリガリ書くときのオススメC#の機能 紹介していきます!

Slide 11

Slide 11 text

進化したプロパティ

Slide 12

Slide 12 text

プロパティ

Slide 13

Slide 13 text

新しいC#では、プロパティは短く書ける!

Slide 14

Slide 14 text

Before : Unityでよく書く

Slide 15

Slide 15 text

After :「式形式」はメソッドにも・プロパティにも

Slide 16

Slide 16 text

もう一例!

Slide 17

Slide 17 text

Before: ゲッター・セッター両方

Slide 18

Slide 18 text

After: ゲッター・セッター両方、式形式に

Slide 19

Slide 19 text

ここまでは、バッキングフィールドを使った プロパティの改善でした

Slide 20

Slide 20 text

「自動実装プロパティ」ってありましたね

Slide 21

Slide 21 text

古いC#で自動実装プロパティが書けなかった場所も 新しいC#では書けるように!

Slide 22

Slide 22 text

Before: 初期化のためだけにフィールド

Slide 23

Slide 23 text

After: 新しいC#ならフィールドいらない

Slide 24

Slide 24 text

もう一例!

Slide 25

Slide 25 text

After: readonlyのためにフィールド

Slide 26

Slide 26 text

Before: 新しいC#ならプロパティだけでOK

Slide 27

Slide 27 text

ゲームロジック書くときに、プロパティは超使う! そんなプロパティは、新しいC#でより便利に!

Slide 28

Slide 28 text

タプル (ValueTuple)

Slide 29

Slide 29 text

タプル(ValueTuple) クラス・構造体を作らなくても名前のない型を作れる。 複数の値をまとめられる。 ToStringやEqualsが実装され、==での比較ができる

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

クラスや構造体を作るのがめんどくさい時、ありません? ● LINQやRxの中間データ ● ちょっとしたメソッドの返り値型

Slide 32

Slide 32 text

そこで、タプル(ValueTuple)ですよ!

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

タプル(ValueTuple)は分解も便利!

Slide 35

Slide 35 text

タプルと分解のコンボがナイス

Slide 36

Slide 36 text

ロジックガリガリ書くとき、 タプル、大活躍!

Slide 37

Slide 37 text

進化したswitch

Slide 38

Slide 38 text

今までのswitchのよくある使い方

Slide 39

Slide 39 text

今までのswitchのよくある使い方、列挙型の例

Slide 40

Slide 40 text

新しいC#ではswitchで 型による分岐ができるように!

Slide 41

Slide 41 text

新しいC#では型による分岐ができるように

Slide 42

Slide 42 text

新しいC#では型による分岐ができるように

Slide 43

Slide 43 text

ダメージ計算とかで、 すごい便利そうじゃないですか?

Slide 44

Slide 44 text

C# 8.0で、switchはもっと便利に!

Slide 45

Slide 45 text

private protected

Slide 46

Slide 46 text

private、protected、public こういうアクセスレベルに・・・

Slide 47

Slide 47 text

private protected ってのが加わったよ! Assembly Definition Filesでアセンブリ分ける人、要チェック

Slide 48

Slide 48 text

「C#のアクセス修飾子 2019 〜protectedは 結構でかい〜」

Slide 49

Slide 49 text

構造体も進化

Slide 50

Slide 50 text

@neuecc さんのUnderstanding C# Struct All Things がUnity Learning Materilasに!要チェック!

Slide 51

Slide 51 text

それ以外にもたくさん

Slide 52

Slide 52 text

● 文字列もいい感じに ● nullもいい感じに ● ローカル関数 ● 式形式のメンバ ● nameof 他にもいろいろ!

Slide 53

Slide 53 text

C#たくさん、進化してましたね!

Slide 54

Slide 54 text

新しいC#の機能を使わなくても Unityでゲームは作れる けれど、ロジックをたくさん作ってきたあなたの 力になる機能がきっと新しいC#にある!

Slide 55

Slide 55 text

新しいC#の機能、使わなくてもゲームは作れる けれど、ロジックをバリバリ作ってきたあなたの 力になる機能がきっと新しいC#にある!

Slide 56

Slide 56 text

公式ドキュメント そして @ufcpp さんのサイト でどんな新しいC#の機能があるか ぜひ見てみてください!

Slide 57

Slide 57 text

Unity でも、新しい C# @RyotaMurohoshi 2019/12/07(土) Unity部 お・と・なのLT大会 2019

Slide 58

Slide 58 text

No content