Speaker Deck
Speaker Deck Pro
Sign in
Sign up
for free
Unityでも、新しいC#
RyotaMurohoshi
December 07, 2019
Technology
0
500
Unityでも、新しいC#
2019年12月07日(土)に開催された『【年末だよ】Unity お・と・なのLT大会 2019』のLT資料です。
https://meetup.unity3d.jp/jp/events/1178
RyotaMurohoshi
December 07, 2019
Tweet
Share
More Decks by RyotaMurohoshi
See All by RyotaMurohoshi
ryotamurohoshi
2
170
ryotamurohoshi
0
460
ryotamurohoshi
1
2k
ryotamurohoshi
1
1k
ryotamurohoshi
3
2.8k
ryotamurohoshi
0
780
ryotamurohoshi
1
550
ryotamurohoshi
0
280
ryotamurohoshi
0
2.6k
Other Decks in Technology
See All in Technology
110y
3
690
mmarukaw
0
1.4k
am7cinnamon
2
2.6k
masakick
0
110
suzukiry
0
200
ytaka23
0
420
kyonmm
1
1.9k
yuyaabo
0
250
ocise
1
910
soracom
0
240
bufferings
2
2.9k
osonoi
0
160
Featured
See All Featured
holman
288
130k
bkeepers
52
4.1k
carmenhchung
26
1.3k
lara
172
9.5k
ammeep
656
54k
62gerente
587
200k
chriscoyier
684
180k
orderedlist
PRO
329
35k
zakiwarfel
88
3.3k
shlominoach
176
7.4k
garrettdimon
287
110k
kneath
219
15k
Transcript
None
None
None
None
None
None
は10分では無理だけど・・・
「あっこんなのもあるんだ、いいじゃん! C#」 ってUnityプログラマのみなさんに思ってもらうために、 オススメの機能を紹介!
• @RyotaMurohoshi(むろほし) • C#・LINQ好きのMS MVP • 好きなIDEはRider • 好きなUnityの機能はTilemap
独断と偏見で選んだUnityでゲームロジックを ガリガリ書くときのオススメC#の機能 紹介していきます!
進化したプロパティ
プロパティ
新しいC#では、プロパティは短く書ける!
Before : Unityでよく書く
After :「式形式」はメソッドにも・プロパティにも
もう一例!
Before: ゲッター・セッター両方
After: ゲッター・セッター両方、式形式に
ここまでは、バッキングフィールドを使った プロパティの改善でした
「自動実装プロパティ」ってありましたね
古いC#で自動実装プロパティが書けなかった場所も 新しいC#では書けるように!
Before: 初期化のためだけにフィールド
After: 新しいC#ならフィールドいらない
もう一例!
After: readonlyのためにフィールド
Before: 新しいC#ならプロパティだけでOK
ゲームロジック書くときに、プロパティは超使う! そんなプロパティは、新しいC#でより便利に!
タプル (ValueTuple)
タプル(ValueTuple) クラス・構造体を作らなくても名前のない型を作れる。 複数の値をまとめられる。 ToStringやEqualsが実装され、==での比較ができる
None
クラスや構造体を作るのがめんどくさい時、ありません? • LINQやRxの中間データ • ちょっとしたメソッドの返り値型
そこで、タプル(ValueTuple)ですよ!
None
タプル(ValueTuple)は分解も便利!
タプルと分解のコンボがナイス
ロジックガリガリ書くとき、 タプル、大活躍!
進化したswitch
今までのswitchのよくある使い方
今までのswitchのよくある使い方、列挙型の例
新しいC#ではswitchで 型による分岐ができるように!
新しいC#では型による分岐ができるように
新しいC#では型による分岐ができるように
ダメージ計算とかで、 すごい便利そうじゃないですか?
C# 8.0で、switchはもっと便利に!
private protected
private、protected、public こういうアクセスレベルに・・・
private protected ってのが加わったよ! Assembly Definition Filesでアセンブリ分ける人、要チェック
「C#のアクセス修飾子 2019 〜protectedは 結構でかい〜」
構造体も進化
@neuecc さんのUnderstanding C# Struct All Things がUnity Learning Materilasに!要チェック!
それ以外にもたくさん
• 文字列もいい感じに • nullもいい感じに • ローカル関数 • 式形式のメンバ • nameof
他にもいろいろ!
C#たくさん、進化してましたね!
新しいC#の機能を使わなくても Unityでゲームは作れる けれど、ロジックをたくさん作ってきたあなたの 力になる機能がきっと新しいC#にある!
新しいC#の機能、使わなくてもゲームは作れる けれど、ロジックをバリバリ作ってきたあなたの 力になる機能がきっと新しいC#にある!
公式ドキュメント そして @ufcpp さんのサイト でどんな新しいC#の機能があるか ぜひ見てみてください!
Unity でも、新しい C# @RyotaMurohoshi 2019/12/07(土) Unity部 お・と・なのLT大会 2019
None