Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unityでも、新しいC#
Search
RyotaMurohoshi
December 07, 2019
Technology
0
1.3k
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
Unityの合同同人誌や合同商業誌を書いてる僕は感想やレビューや評価が欲しい
ryotamurohoshi
0
510
Unity 2021.1での Unityパッケージの名称変更について
ryotamurohoshi
0
700
Odin Validationはいいぞ!
ryotamurohoshi
2
940
Tilemapはいいぞ!2020 〜すごいぞ、プロジェクト専用拡張Brush〜
ryotamurohoshi
0
2.4k
Riderはいいぞ!
ryotamurohoshi
1
3.4k
Riderのススメ〜俺はRiderここが好き〜
ryotamurohoshi
1
2.4k
Unity開発者に伝えたい.NETのこと
ryotamurohoshi
4
37k
ImportedLinqのススメ
ryotamurohoshi
0
1.4k
ドキドキライブコーディング2019 #Burikaigi2019
ryotamurohoshi
1
1.1k
Other Decks in Technology
See All in Technology
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
6
21k
クラウドネイティブ環境の脅威モデリング
kyohmizu
2
410
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
110
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
5.5k
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
2k
kernelvm-brain-net
raspython3
0
530
Vibe Coding Tools
ijin
0
140
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
550
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
190
dbtとリバースETLでデータ連携の複雑さに立ち向かう
morookacube
0
190
本当に必要なのは「QAという技術」だった!試行錯誤から生まれた、品質とデリバリーの両取りアプローチ / Turns Out, "QA as a Discipline" Was the Key!
ar_tama
9
4.4k
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
470
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
41
2.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cult of Friendly URLs
andyhume
78
6.3k
Agile that works and the tools we love
rasmusluckow
329
21k
Code Reviewing Like a Champion
maltzj
523
40k
Side Projects
sachag
453
42k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.7k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Music & Morning Musume
bryan
47
6.5k
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