chevron_left

メインカテゴリーを選択しなおす

cancel
はなちる
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/03/05

arrow_drop_down
  • 【C#】unsafeを用いずにReadOnlySpan<char>からSpan<char>に変換をして中身を好き勝手にいじる

    はじめに 今回はunsafeを用いずにReadOnlySpan<Span>からSpan<char>に変換する方法について紹介をしたいと思います。 ReadOnlySpan<char> str = "hello, world"; var span = MemoryMarshal.CreateSpan(ref MemoryMarshal.GetReference(str), str.Length); // unsafe使わずともこれで簡単にいじれてしまうやん... span.Reverse(); // dlrow ,olleh Console.WriteLine(str.ToString()); …

  • 【C#】Unsafe.WriteUnalignedとMemoryMarshal.GetReferenceとSpanを組み合わせてメモリのコピーを行う

    はじめに 今回はUnsafe.WriteUnalignedとMemoryMarshal.GetReferenceとSpanを組み合わせてメモリのコピーを行ってみようという記事になります。 // サンプルコード public static void Main(string[] args) { int value = 999; // 231, 3, 0, 0 Console.WriteLine(string.Join(",", BitConverter.GetBytes(value))); // ------------ // Managed Heap // ------------ Span<b…

  • 【C#】64ビットの擬似乱数生成器"Splitmix64"を実装してみる

    はじめに 今回はSplitmix64という擬似乱数生成器をC#で実装してみようという記事になります。 はじめに 概要 実装 参考 概要 Splitmix64は64ビットの高速な疑似乱数生成器です。C#で64ビットの型はlongやulongとかですね。 64ビットの状態のみを使用した非常に高速な疑似乱数生成器。 64ビットの状態のみを使用する必要がない限り、XorOshiro128StarStarまたはXorOshiro128Plusを使用することをお勧めします。 Pony - SplitMix64 [ソース]64ビットの状態のみを使用した非常に高速な疑似乱数生成器、詳細 http://xosh…

  • 【Unity】Application.logMessageReceivedを用いてUnityのログメッセージが発行されたときに処理を行う

    はじめに 今回はUnityのログメッセージが発行されたときに処理を挟むことができるApplication.logMessageReceivedについて取り上げたいと思います。 ログメッセージが発行されたときに受信するためのイベントハンドラーこのイベントはメインスレッドでのみ動作します。もしハンドラー内で、メインスレッドのみ呼び出し可能な Unity の API を使用したい場合や、なんらかの理由があった場合、スレッドセーフでないかもしれません。 Application-logMessageReceived - Unity スクリプトリファレンス 利用している様子 はじめに 概要 使い方 概要 …

  • 【Unity】エディタ拡張でPrefabStageUtilityを用いてPrefab ModeでPrefab Assetを開いたりPrefab stageを取得したりする

    はじめに 今回はUnityEditor.SceneManagement.PrefabStageUtilityを用いて、Prefab Modeでアセットを開いたり、Prefab stageを取得したりする記事になります。docs.unity3d.com PrefabStageUtility.OpenPrefabを実行した様子 はじめに 概要 PrefabStageUtility.GetCurrentPrefabStage PrefabStageUtility.GetPrefabStage PrefabStageUtility.OpenPrefab 概要 PrefabStageUtilityはPr…

  • 【C#】MemoryMarshal.Castを利用してバイト配列に他の型の配列のデータを書き込む

    はじめに 今回はMemoryMarshal.Castについて取り上げたいと思います。learn.microsoft.com // int[]からbyte[]に変換を行うサンプルコード // 変換前:int[] (intは4バイト) Span<int> from = Enumerable.Range(int.MaxValue-5, 5).ToArray(); // 変換後:byte[] (intは4バイトなので、5*4=20バイト必要) Span<byte> to = new byte[20]; // int[]の情報をbyte[]に書き込む to = MemoryMarshal.Cast<in…

  • 【Rider】メソッド抽出(extract method)というリファクタリング機能がとても便利

    はじめに 今回はメソッド抽出(extract method)というRiderのリファクタリング機能について紹介したいと思います。pleiades.io メソッドの抽出をしている様子 はじめに 概要 やり方 メソッドの抽出 ローカル関数の抽出 概要 Riderのメソッド抽出を利用することで、自動で特定の箇所を新しくメソッドとして切り出したりローカル関数として切り出したりすることができます。 このリファクタリングでは、選択したコードフラグメントに基づいて新しいメソッドまたはローカル関数を作成できます。JetBrains Rider は選択されたステートメントを分析し、メソッドパラメーターに変換する…

  • 【Unity】UnityEngine.Scripting.PreserveAttributeを用いてストリッピングを防止する(実は独自PreserveAttributeでも対応可)

    はじめに 今回はPreserveAttribute属性を用いてストリッピングを防止する方法について紹介したいと思います。 docs.unity3d.com はじめに 概要 使い方 実験 UnityEngine.dllに依存しないために 概要 まずはコードストリッピングについて概要を載せておきます。 マネージドコードのストリッピングはビルドから未使用のコードを削除し、最終ビルドサイズを大幅に削減します。 マネージコードストリッピングは、プロジェクトの C# スクリプトからビルドされたアセンブリ、パッケージとプラグインの一部であるアセンブリ、.NET Framework のアセンブリなどのマネージ…

  • 【Unity】エディタ上でBuilt-inに存在するアイコンのTextureを取得する方法

    はじめに 今回はUnityEditorにビルドインで存在するアイコンのTextureを取得する方法を紹介したいと思います。 アイコンを使用している様子 はじめに やり方 やり方 EditorGUIUtility.Loadを用いてbuilt-inリソースを読み込みます。 public static Object Load(string path); Load a built-in resource.This function will look in Assets/Editor Default Resources/ + path for the resource. If not there, i…

  • REST Clientを用いてVisual Studio Codeで直接HTTPリクエストを送信・レスポンスを表示する

    はじめに 今回はVSCodeの拡張機能の一つであるREST Clientを紹介したいと思います。 REST Client allows you to send HTTP request and view the response in Visual Studio Code directly. It eliminates the need for a separate tool to test REST APIs and makes API testing convenient and efficient. // DeepL翻訳 REST Clientは、Visual Studio Codeで直…

  • 【Unity】Unity Test Frameworkでログ出力のテストをする方法(特にDebug.LogError, Debug.LogException)

    はじめに 今回はログ出力のテスト方法について紹介をしようと思います。 ログ出力をしている例 はじめに 概要 テスト方法 概要 Unity Test FrameworkではDebug.LogErrorやDebug.LogExceptionが実行されるとテストが失敗になる仕様にデフォルトでなっています。一応それをやめるフラグであるLogAssert.ignoreFailingMessagesなるものがあります。 public static bool ignoreFailingMessages ; Set this property to true to prevent unexpected err…

arrow_drop_down

ブログリーダー」を活用して、はなちるさんをフォローしませんか?

ハンドル名
はなちるさん
ブログタイトル
はなちるのマイノート
フォロー
はなちるのマイノート

にほんブログ村 カテゴリー一覧

商用