PG日誌

各記事はブラウザの横幅を1410px以上にすると2カラムの見出しが表示されます。なるべく横に広げてみてください。

JSONを整形して保存するC#の実装例

未整形の JSON を整形してファイルに保存しなおす C# プログラムの実装例です。未知の構造の JSON フォーマットを扱うので Newtonsoft の JSON ライブラリ(の JObject )を使用します。 実装環境 .NET Core 3.1 C# 9.0 VisualStudio2019 Windows10 実装コー…

C#の文字列補完はToStringした方が高速になる理由を調べてみた

はじめに C# の「文字列補完」機能という機能があります。ものすごい雑に言うと C# 6 以降で可能な文字列の先頭に「$」起動を付けることでフォーマット付き文字列の視認性を向上することができる機能です。例えば以下のような記述ができます。 // (1) // 旧…

VisualStudio2019でスペルチェック機能を利用する

検索すると VSCode のスペルチェックの記事は非常によく目にするのですが、Visual Studio (Codeじゃないほう)の記事は全然ヒットしない、もしくはVS2010くらいの情報しかヒットしないのでVisualStudio2019で英語のスペルチェックを行う方法を紹介したいと思…

【C#】Listと配列に対するforとforeachのアクセス速度の比較

先に結論ですが、全く同じ処理を for と foreach で行った場合、Listではfor、配列では foreach の方が早いです。 確認環境 Listのアクセス速度 実装コード 計測結果 配列のアクセス速度 確認コード 計測結果 速度がListと配列で逆転する理由 おまけ 悪い計…

C#で再帰を使わずにフォルダ内のファイルを列挙する

再帰処理を使わないでC#でフォルダ階層をたどってファイルをリストアップする方法の紹介です。 最後に記載がありますが実際はフォルダを巡回する必要ありません。C#はAPIをひとつつ呼ぶだけで実装できます。 再帰処理を使ってファイルを列挙する 再帰処理を…

【C#】StartsWithを複数の文字列対応する

string クラスに StartsWith という特定の文字列で始まるかどうかをチェックできるメソッドがあります。 使い方はこんな感じです。 string str = "aaaabbbbcccc"; if(str.StartsWith("aaa")) // str が "aaa" から始まるかどうかチェックする { // 一致する …

【C#】文字列を分割するSplitメソッドをより使いやすいよう改善する

C# である文字列を特定の文字で複数の文字列に分割する Split メソッドの利用性を向上するための拡張メソッドの紹介です。 はじめに Split メソッドっは大変便利ですがセパレーターに複数の文字を指定する場合や、文字列をセパレーターとして使う場合以下の…

【C#】プロパティにつけた属性を取得する方法

C#でプロパティにつけた属性を取得する方法の紹介です。自作のクラスなどでプロパティに付与したカスタム属性を取得してその値を利用する方法です。 確認環境 C# 8.0 .NET Core 3.1 VisualStudio 2019 Windows10 コンソールプログラムで動作を確認 実装コー…

【C#】文字列の先頭だけを大文字 or 小文字に変換する

ある文字列の中の1文字だけを大文字・小文字に切り替える方法の紹介です。 C#の標準ライブラリにはこういった操作が存在しないので自分で実装することになります。今回は string クラスの拡張メソッドとして実装します。処理効率は特別な外部ライブラリを使…

Yの位置が下にある画像は手前に表示する(Z座標制御編)

前回、2Dゲームの画像表示時に Transparency Sort Mode を Custom Axis にすることで Y が下にあるオブジェクトほど手前に表示する + 補助コンポーネントを作成する記事を書きましたが、今回は Y 位置が下にある画像ほど手前に表示する処理を Z 位置を使って…

Transparency Sort ModeがCustom Axisの時に前後が入れ替わる位置を表示する

初めに 2Dのゲームで画面を立体的に見せるためにY軸が下にあるものほど手前にオブジェクト描画するという技法があります。 これ「Isometric Sorting」と呼ぶのかわからないですが(自分の中ではY軸ソートと呼んでいました)が、Unityでは Transparency Sort …

StylusでQiitaの見た目をシンプルにする

シンプルにするというか不要な要素や見たくない要素を非表示にする感じです。 はじめに 最近どんな事を検索してもQiitaが検索結果に出てくるので色々諦めてあきらめて快適に使う方法を考えてみました。具体的には Chorome の拡張機能「Stylus」を使います。…