Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unityでも、新しいC#

 Unityでも、新しいC#

2019年12月07日(土)に開催された『【年末だよ】Unity お・と・なのLT大会 2019』のLT資料です。

https://meetup.unity3d.jp/jp/events/1178

RyotaMurohoshi

December 07, 2019
Tweet

More Decks by RyotaMurohoshi

Other Decks in Technology

Transcript

  1. None
  2. None
  3. None
  4. None
  5. None
  6. None
  7. は10分では無理だけど・・・

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

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

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

  11. 進化したプロパティ

  12. プロパティ

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

  14. Before : Unityでよく書く

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

  16. もう一例!

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

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

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

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

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

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

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

  24. もう一例!

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

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

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

  28. タプル (ValueTuple)

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

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

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

  33. None
  34. タプル(ValueTuple)は分解も便利!

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

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

  37. 進化したswitch

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

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

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

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

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

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

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

  45. private protected

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

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

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

  49. 構造体も進化

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

  51. それ以外にもたくさん

  52. • 文字列もいい感じに • nullもいい感じに • ローカル関数 • 式形式のメンバ • nameof

    他にもいろいろ!
  53. C#たくさん、進化してましたね!

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

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

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

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

  58. None