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
530
Unity 2021.1での Unityパッケージの名称変更について
ryotamurohoshi
0
710
Odin Validationはいいぞ!
ryotamurohoshi
2
960
Tilemapはいいぞ!2020 〜すごいぞ、プロジェクト専用拡張Brush〜
ryotamurohoshi
0
2.4k
Riderはいいぞ!
ryotamurohoshi
1
3.5k
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
ビギナーであり続ける/beginning
ikuodanaka
3
750
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
300
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
150
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
9
4.3k
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
170
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.6k
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
280
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
4
13k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
77
9.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
How to Ace a Technical Interview
jacobian
278
23k
Speed Design
sergeychernyshev
32
1k
Music & Morning Musume
bryan
46
6.6k
A Modern Web Designer's Workflow
chriscoyier
695
190k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Six Lessons from altMBA
skipperchong
28
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Being A Developer After 40
akosma
90
590k
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