Unityでも、新しいC#

 Unityでも、新しいC#

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

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

F46c97bb74758d481531990654933050?s=128

RyotaMurohoshi

December 07, 2019
Tweet

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