えんじにあ雑記!

開発していて学んだことをまとめていきます!

C#

別スレッドからUIを操作しようとして引っかかった話

UnityでUniTaskを使って非同期処理を実装している際に、別スレッドからUIを操作しようとしてしまいエラーが出てはまったときの対応メモです。

【Editor拡張】Scene名一覧を持つクラスの自動生成

Unityで開発している時に、シーン名を定数文字列として持つクラスを作成することがあります。簡単な作業ですが、自動化できればありがたいなと思いEditor拡張を作りました。

デザインパターンの解説と実装例!

頻出する問題解決の設計パターンであるデザインパターンをいくつか説明します。 デザインパターンを知っておくことは、共通言語にもなり得ますし、設計の引き出しも増えるでしょう。

VSCodeとPlantUMLでクラス図を描く

コーディングを始める前の設計段階で作成するクラス図。 今回はVisual Studio Codeと拡張機能のPlantUMLを使ってクラス図を描く方法をまとめました。

C#のListに対する操作を簡潔に!

C#

Listって色々なところで使いますよね。 要素の中から該当するものを探す、取り出す、削除するなどなど。 自前で書かずとも、それ、既にAPIにあるかもです👍

Unityのコルーチン 〜IEnumeratorのその先へ〜

Unityで頻繁に用いるコルーチン。 その返り値の型として使われるIEnumerator。こいつ一体何者なんだ? 正体を探る旅に出た。

C#でGolangのdeferっぽいこと

C#

最近Golangでサーバサイドを書く機会が増えてきていて、Golangの言語の特徴になるほど〜〜、いいねって感じることがあるのですが、 その中でもdeferが個人的にかなり便利!だったのでC#でもできないかと思いなんちゃってdeferを実装してみた件

UniRxでReactivePropertyのSubscribeにラムダ式が使えない

UniRxを使っている時「ラムダ式はデリゲート型ではないのでIObserverに変換できません」というエラーに遭遇! チュートリアル通り使ってるのになんで!?と困ったことと、解決方法について。

C#でパフォーマンスの良いコードを書く

C#

for/foreach, string/StringBuilder, try-catch/エラー処理, 多次元配列など色々な点から高パフォーマンスの書き方を調査してみました。

C#で自作クラスをHashSetで正しく動作させる

C#

C#のAPIであるHashSet 自作クラスで正しく動作させるにはどうしたらいいの?