C#

【Unity】【C#】Taskの未処理例外をUnobservedTaskExceptionで処理してログ出力する

UnityでTaskの未処理例外をUnobservedTaskExceptionで処理する方法をまとめました。

【C#】非同期メソッド内でファイルIOするときの排他制御

C#で非同期メソッド内でのファイル入出力における排他制御についてまとめました。 同時読み込み・書き込みを許可するFileShare 並列読み込み・書き込みを管理する必要性 セマフォで排他制御

【Unity】【Rider】RiderでT4テキストテンプレートを使う

Unity x RiderでT4テンプレートを使う方法をまとめました。 T4テンプレートの基本的な使い方はこちら Visual Studioとの相性の悪さ~RiderのT4テンプレートサポート C# Project Generationにttを加える テンプレートファイルを作る テキストを生成する 実行…

【Visual Studio】【.NET】T4テキストテンプレートで文字列(ソースコード)を自動生成する方法まとめ

T4テキストテンプレートの基本的な使い方をまとめました。 T4テキストテンプレート? シンタックスハイライトとコード補間を有効にする テンプレートからコードを生成する デザイン時テキストテンプレートと実行時テキストテンプレート デザイン時テンプレー…

【C#】正規表現の使い方まとめ

C#

C#の正規表現の使い方をまとめます。 パターンの記述方法についてはよくまとまっている記事がいくらでもあるのでそれ以外の情報についてまとめます。 基本的な使い方 IsMatch, Match, Matches 最短マッチを表す「?」 オプションまとめ 置換 分割 グループ OR…

【Unity】Unity2020.2から使えるC#8の機能まとめ

Unity2020.2から使えるC#8の機能をまとめました。 Unity2020.2からC#8の機能が使えるようになりました 使えない機能 readonly members Switchが式として使えるように パターンマッチングの強化 プロパティパターン タプルパターン 位置指定パターン(Positio…

【C#】独自の型にDeconstructメソッドで分解宣言・分解代入できるようにする

C#

C#で独自の型にDeconstructメソッドを追加して分解宣言・分解代入できるようにする方法です。 分解宣言・分解代入? タプル型の分解宣言 分解代入 独自の型にDeconstructメソッドで分解宣言・分解代入できるようにする 関連

DIコンテナの非推奨な使い方・サービスロケーターパターン

DIコンテナの非推奨な使い方であるサービスロケーターパターンについてまとめました。 はじめに 良い例 良くない例 - サービスロケーターパターン Microsoft.Extensions.DependencyInjectionとしても非推奨 関連 参考

【C#】【Unity】マルチスレッドによる並列処理を排他制御する方法まとめ

C#における並列処理の排他制御についてまとめました。 特にUnityに依存する内容ではないですが、Unityで動作確認を行っています。

【C#】implicit / explicitキーワードで型変換演算子を定義する

C#

C#でimplicit / explicitキーワードを使って型変換演算子を定義する方法についてまとめました。

【C#】【Unity】Taskによる非同期処理をWait()したときにデッドロックする原因と対策

C#で非同期処理におけるスレッドの仕組みとWait()によるデッドロックについてまとめました。

【Unity】【UniTask】マルチスレッドとしてのTaskからUniTaskを眺める

Taskのマルチスレッドを実現するための機能という側面からUniTaskについて考えてみます。

【Unity】internalなクラスのテストを書く

Unityでinternalなクラスのテストを書く方法をまとめました。

【Unity】【C#】Genericな型の等価判定によるメモリアロケーション及びUnity組み込み構造体のIEquatable実装状況

Genericな型の等価判定をすることによるメモリアロケーションの問題とその解決策、 及びUnity組み込み構造体のIEquatable実装状況についてまとめました。

【C#】正しく例外を再スローする方法とExceptionDispatchInfo

C#

C#における例外の再スローを正しく行う方法についてまとめました。

【2020年版】.NET Framework / .Net Core / Xamarinの関係を整理~そして.NET 5へ

.NET関連のフレームワークは概念も歴史も複雑でよくわからなくなりがちです。 .NET 5という大きい転換点が訪れるこのタイミングで、現時点で.NETの理解に必要な知識をざっとまとめてみました。

【C#】EventWaitHandleを使ってスレッドの排他処理を管理する方法まとめ

C#

WaitHandleを使ってスレッドの排他処理を管理する方法をまとめました。

【Unity】uGUIで入力できない文字をはじくまでの長き道のり - Unicodeの誕生からサロゲートペア、バリデーション用ソースコードまで

UnityのuGUIで入力できない文字をはじくために必要な知識をまとめました。

【Unity】【C#】delegateをTaskに変換してawaitできるようにする

C#でdelegateをTaskに変換してawaitできるようにする方法です。

【Unity】UniRxでメモリリークを引き起こすケースとAddToやTakeUntilDestroyの重要性

UniRxでメモリリークするケースとAddToやTakeUntilDestroyの重要性についてまとめました。

【Unity】【C#】憎きGCを防ぐために!Update内でやっちゃダメなこと総まとめ

C#を使ったUnity開発で無駄なGCを防ぐためにUpdate内でやるべきじゃないことをまとめました。

【Unity】UnityのProfilerでそのフレームにおけるメモリ割り当てを分析する

UnityのProfilerでそのフレームにおけるメモリ割り当てを分析する方法です。

【Unity】【C#】Listから要素を削除・挿入する処理は重いよって話とその解決策

C#でListから要素を削除や挿入する処理は重いよって話とその解決策をまとめました。

【C#】リフレクションで特定クラスのサブクラスをすべて取得する方法

特定クラスのサブクラスをすべて取得する方法のメモです。 Unityのエディタ拡張のときによく忘れるのでメモ。

【Unity】Unityで使えるC#7の主要機能まとめ!isやswitchのスマートな書き方やタプルの追加など

Unity2018.3から使えるようになったC#7の機能を一通りまとめました。

【Unity】AssetBundleのハッシュ値を計算する方法

AssetBundleのハッシュ値を計算する方法のまとめです。

【C#】文字列やファイルのハッシュ値を求める

C#でハッシュ値を計算する方法のまとめです。

【C#】ハッシュ値の計算時にソルトを付与してレインボーテーブル攻撃に備える

ハッシュ値の計算時にソルトを付与してレインボーテーブル攻撃に備える方法のまとめです。

【Unity】【C#】UnityEngine.Objectのnullチェックで?演算子とか??演算子は使わないほうがよさそうだ

Unityのオブジェクトに?演算子とか??演算子は使わないほうがよさそうだという話です。

【C#】ループ内での文字列結合は+じゃなくStringBuilderを使っとけ

C#のループ内での文字列結合は+じゃなくStringBuilderを使っとけという話です。