非ObservableCollection<T>の変更を検出・通知する

Viewへリストの変更を通知するための機能を持つObservableCollectionですが、以下のようにデータソースがListや配列だと変更が検出できません。今回は、Modelのリストが非ObservavleCollectionの場合、やや制約がありますが変更をViewが検出するための仕組み…

うざい & 邪魔な侍エンジニア塾の記事をGoogleの検索結果から非表示にする

2020-07-29 はじめに Googleでプログラミングの事を調べるとやたらと検索に引っかかって上位に表示される「侍エンジニア塾」をGoogleの検索結果から除外して目に触れないようにしたいと思います。 対象ブラウザはChrome限定です。拡張機能の「ゴシップサイト…

C#の配列にForEachメソッドを追加する

C#

C#の配列にForEachメソッドを直接追加する方法を紹介したいと思います。 ForEachメソッドは、Pythonにmap関数とほぼ同じ機能を持ちます。map関数は「map関数は、イテラブルオブジェクトに対しその全ての要素に指定した関数を実行し、結果をシーケンスとして…

C#で配列のサイズ変更や要素を末尾に追加する

C#

C#で宣言済みの配列のサイズを変更するためにはArray.Resizeを使用します。末尾に要素を追加する場合、Resizeで+1した後最後にデータを追加します。 実装コードは以下の通りです。 // 100 → 200へ配列のサイズを変更 int[] array = new int[100]; Array.Resi…

C#でBase64形式で文字列やファイルをエンコード・デコードする

C#

C#でもASP. NET Coreなどの環境がだんだん発達してきて、WebAPIを作成したり繋いだりするケースが増えてきていると思います。 そこで、受け取ったJSON中のBase64文字列をデコードしたりする場合があると思いますがが、そういった場合、C#でどのように取り扱…

C#のtry~catch~finallyの使い方

C#

C#のtry ~ catch(+ ~ finally)構文の使い方について紹介したいと思います。 この構文は、(1)通常処理するtry節、(2)例外が起きた時にそれを処理するためのcatch節と、(3)tryを抜ける時に必ず実行されるfinally節で構成されます。 と言っても構文自体は…

LogicoolのゲーミングマウスG403を10か月使った感想

ロジクールのゲーミングマウス、G403のワイヤレス版のG403WLを10か月使った感想とレビューを紹介したいと思います。 【PUBG JAPAN SERIES 2018推奨ギア】LOGICOOL ロジクール G403 Prodigy ワイヤレスゲーミングマウス G403WL出版社/メーカー: ロジクール発…

IIJmioのSIMサイズ変更の方法と到着日数(マルチSIM対応最新版

IIJから提供されるSIMのサイズ変更の方法と、到着日数の紹介をしたいと思います。 IIJのSIMサイズは2018年9月現在、「マルチSIM」となっています。マルチSIMとは以下のように、一枚のSIMでnano SIM/micro SIM/標準SIMの3サイズに対応できるSIMカードの事です…

階層型状態マシン(HFSM)を実装する

GoF のデザインパターンで State パターンを階層化した、階層型有限状態マシン(HFSM:Hierarchical Finite State Machines)を作成してゲーキャラクターの制御を行ったので実装例を紹介したいと思います。「階層型のステートマシン」なんて言ったりもします…

【C#】OpenCVを使って画像から線画を抽出する

Qiitaの以下投稿でPythonを使用して画像から線画を抽出するという処理を見たのですが、この処理をC#で書き直したらどうなるかどういうコードになるか確認してきたいと思います。 qiita.com 元のコードの確認 まず対象のコードの確認です。 以下Qiitaからの引…

OpenCvSharpで画像データを高速に設定、取得する

C#のOpenCVライブラリのOpenCVSharp3でMatに高速でデータ読み書きする方法の紹介です。 高速にデータの読み書きをするためにMat.Data : IntPtr を利用してデータの読み書きを行いたいと思います。 使用しているライブラリは、OpenCvSharp3(ver. 3.4.1.20180…

C#の変数の内部表現を確認する

C#

普段使用しているCPUは、最近はMacもインテルのCPUなので、バイトオーダーは「リトルエンディアン」が主流です。 エンディアンの詳細はさておき、つまり、2バイトデータの中身が、「0x 12 34」となっていた場合メモリのレイアウトは 「0x 34 12 」と逆順にな…