はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

C#

【Unity】 IReadOnlyCollection<T>を使って読み取り専用のコレクションを作る

はじめに 今回は読み取り専用のコレクションをIReadOnlyCollection<T>インターフェイスを用いて実現する方法に関する記事になります。これはメソッドの引数にて用いて、このメソッドは要素を変更しないという意思表示に適していると思います。 その前に ・・・</t>…

【Unity】null合体演算子とnull条件演算子についてかるくまとめてみた

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はnull合体演算子とnull条件演算子の使い方についての記事になります!前回null許容型についての記事を書いたのですが、そちらと合わせて用いられることも多いようです。hanaachiru.hatenablog.com nul…

【Unity】メソッドやプロパティをラムダ式で記述する

はじめに 今回はメソッドとプロパティをラムダ式で記述することについての記事になります。こちらはC#6での機能なので、Edit > Project Settings > Playerから、.NET 4.xを選択しましょう。 メソッドやプロパティをラムダ式で記述するための条件 メソッドを…

【Unity】早期リターンをしてコードを見やすくする

はじめに 今回は最初にふるいにかけて残ったものだけ処理をさせるようにする記事になります。これをするとかなりコードが見やすくなるはずです。 実際の例 例えばこのようなコードがあったとします。 private void Hoge(string str,int a,int b) { if (str !…

【Unity】三項演算子(条件演算子)をかるくまとめてみた

はじめに 三項演算子(条件演算子)は?:を使い、条件を判定して、真と偽でそれぞれ異なる値を変数に代入します。この演算子についてかるくまとめてみました。 構文 using UnityEngine; public class Hoge : MonoBehaviour { void Start() { int a = 2; int b…

【Unity】List<T>クラスの持つデリゲートを使うメソッド達

この記事でのバージョン Unity2018.3.9f1 はじめに 今回はあまり使う機会が少ない?ようなList<T>クラスが持つデリゲートを引数にするメソッドに関する記事です!これらはリストの各要素に対していろいろな処理ができるようなメソッドがほとんどになっています</t>…

【Unity】インターフェイスについてかるくまとめてみた

はじめに インターフェイスの持つ重要な性質をまとめてみました。 細かい説明は他の記事を参照してみてください。ufcpp.net 最重要事項 インターフェイスにはこの3つの性質を持ちます。 ・AクラスがIXインターフェイスを実装していると、AオブジェクトはIX…

【Unity】よくC#で見るカタカナ達(基本用語)をまとめてみた

はじめに C#の勉強などをするにあたってたくさんのカタカナが登場してきますよね。 私はいつもあれ?っとなってしまうので、いくつかよく曖昧になってしまうものをまとめてみました。 用語一覧 用語 意味 インデント プログラムを見やすくするための字下げ …

【Unity】classにstaticを付けるべきときはいつ?

はじめに classの前にstaticをつけると静的クラスと呼ばれるものになります。ただこれはどういう時につけるべきなのかを調べてみました! 結論 最初に結論を書くと、クラス内のすべてのメンバーが静的メンバーのときは静的クラスにするべきです。 静的クラス…

【Unity】定数を作るときにconstとstatic readonlyのどちらを用いるべきか

はじめに 定数を用いる時にconstや(static) readonlyがあると思います。 ただ、どの場合にどれを使うべきか備忘録として残しておきたいと思います。また主な違いはこちらを参照してみてください。qiita.com どちらを使うべきか 結論から書くと、 ・privateの…

【Unity】クラスについてかるくまとめてみた~継承編~

はじめに 前回このような記事を書かせていただきました。hanaachiru.hatenablog.com今回はクラスの継承について紹介していきたいと思います! 継承を用いるべきとき 継承の仕方の説明の前に、どういう時にすべきなのかを書いておきたいと思います。 使うべき…

【Unity】null許容型について

はじめに C#が扱う型(int,stringなど)には値型と参照型が存在します。この参照型には何も参照していない状態を意味する「null」が存在します。しかし値型には通常「null」を設定することができません。今回は値型でもnullを扱う方法を紹介したいと思います…

【Unity】クラスについてかるくまとめてみた~基礎編~

はじめに いまさらながらクラスについて勉強をしたのでその備忘録として残しておきたいと思います。 また、なるべくUnityでも使いそうな感じを意識して書いていきます。 はじめに 基本的なクラス 実際にクラスのインスタンスを生成する インスペクター上でい…

【Unity】VisualStudio2017で変数などの名前の変更を一度でする方法

はじめに 変数名のリファクタリングをする際、一つ一つするのは骨が折れますよね。 ただVisualStudioにはそれを一度に変更することができます。今回はそちらを紹介していきたいと思います。 やり方 手順はとてもシンプルで、変えたい名前を右クリックして名…

【Unity】delegateを使ってswitch文によるごちゃごちゃをなくす

はじめに Unityでプログラムをしていて、このようになるケースは多々あるのではないでしょうか? using UnityEngine; public class Hoge : MonoBehaviour { public void Fuga(int number) { switch (number) { case 0: func0(); break; case 1: func1(); bre…

【Unity】Unityでスタックやキューを扱う

はじめに コードに以下の一行を付け足すことでUnityでもStackやQueueを利用することができます。 using System.Collections.Generic; 早速使い方を説明していきましょう。 Stack Stackの宣言 Stack<int> stack = new Stack<int>(); データを入れる stack.Push(1); デー</int></int>…