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.4k
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
Tilemapのアップデートについて
ryotamurohoshi
0
65
Unityの合同同人誌や合同商業誌を書いてる僕は感想やレビューや評価が欲しい
ryotamurohoshi
0
570
Unity 2021.1での Unityパッケージの名称変更について
ryotamurohoshi
0
790
Odin Validationはいいぞ!
ryotamurohoshi
2
1k
Tilemapはいいぞ!2020 〜すごいぞ、プロジェクト専用拡張Brush〜
ryotamurohoshi
0
2.4k
Riderはいいぞ!
ryotamurohoshi
1
3.7k
Riderのススメ〜俺はRiderここが好き〜
ryotamurohoshi
1
2.6k
Unity開発者に伝えたい.NETのこと
ryotamurohoshi
4
38k
ImportedLinqのススメ
ryotamurohoshi
0
1.6k
Other Decks in Technology
See All in Technology
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
配列に見る bash と zsh の違い
kazzpapa3
3
160
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
150
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
260
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
490
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
370
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Are puppies a ranking factor?
jonoalderson
1
2.7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
We Are The Robots
honzajavorek
0
160
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Crafting Experiences
bethany
1
49
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Leo the Paperboy
mayatellez
4
1.4k
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
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