shared_ptrをOUTパラメータで使用する

C++

C++ の shared_ptr を引数の OUTパラメータに指定する方法の紹介です。 方法は非常に簡単です。引数を参照渡しすることで実現できます。 // 引数を参照にすることでOUTパラメータとして受け取れる void create(shared_ptr<Any>& out_value); これを呼び出し側で以</any>…

C#でGUIDをToStringするときに使用できる書式

C#でGUID(128bit長の一意の識別子)を生成するには、標準ライブラリ内のGuidクラス(System名前空間内)を使用します。 using System; public static void Main(string[] args) { Guid id = Guid.NewGuid(); Console.WriteLine(id.ToString()); // c1b2e279…

BluePrint APIでnumberにマイナスを指定する方法

数字を以下のようにアポストロフィで囲みます。 + Response 500 + Attributes + code: `-2500` (number, optional) - こんな感じ バックスラッシュとかアポストロフィが効かなくて一瞬焦った。

C#でEnumに付与した属性と属性の値を取得する

タイトルの通り、C#で自分で作成したEnum型に属性を付与し、その属性を取得およびその属性の値の取得をしたいと思います。 属性をオブジェクトとして取得して内容を取り出す流れになります。 対象の型の準備 値を取得する拡張メソッドの作成 拡張メソッドの…

C#でグレイコードを作成する

タイトルの通りC#でグレイコードを作成して画像に保存したいと思います。 グレイコードはノイズに強いので例えば、プロジェクターからパターンを投影してイメージセンサーで画像を撮影したときに座標の対応関係をとるのに使用できます。 グレイコードの考え…

C#でOlliの手書き風描画のフィルタを再現する

動画と写真を手書き風に加工する「Olli」というアプリがあるのですが、結構きれいに手書き風のフィルタがかけられると話題になっていました。 ねとらぼさんのOlli紹介記事 そこで、C#を使って手書き風のフィルタを再現してみようと思います。 申し訳ないです…

C#のArrayListとHashtableは基本的に非推奨

C#のArrayListとHashtableは非推奨 2018年に新規にArrayListの使い方を説明するWebページがあったりしますが、C#のArrayListは現在利用は推奨できません。代わりにList<T>クラスを使用しましょう Javaを学習した方がC#に動的配列の機能を探して同じ機能が無いか</t>…

はてなブログの目次をカスタマイズする

はてなブログって見出しを表示する記法がありますが、デフォルトだとめちゃくちゃダサいです。 このブログのテーマは「Evergreen」です。ここで表示される見出しの見た目をCSSを使ってカスタマイズしたいと思います。 見た目 見出しを表示すると以下のように…

C#でListの内の要素をforeach中に削除する

結論から言うと、foreachの中でリストの要素を削除するのは無理です。諦めましょう。*1 代替手段 (1) for文を逆順で回す (2) RemoveAllメソッドで削除 (3) Whereで抜粋する (4) 自作する foreachの右辺でToArray() + Removeはやめましょう 削除しようとする…

C#のクラスと構造体の違い・使い分け方

C#

C#でクラス(class)と構造体(struct)の違いは何か?それぞれどのような性質があるのか?また、使い分け方の方針の紹介です。基本的にほとんど同じですが割と性質が違います。 性質の違いを考慮しながらどちらを使用するかを検討することになります。…と、言っ…

C#のList<T>.ForEachでTが構造体の値を更新する

C#

前回、C#の配列にForEachメソッドを追加すると同じく、ListのTが構造体の場合、ForEachメソッド内で引数に対する変更がListへ反映されないため、拡張メソッドの機能を利用して、変更が反映される操作を追加します。 具体的にどういう状況か以下のコード(も…

C#の throw と throw ex の動作の違いを確認する

C#

この話、何度も説明をしているのでいい加減何か書き残した方が良いと思ったので、概要をまとめたいと思います。 C#の throw と throw ex で何が違うのかの紹介になります。 具体的には例外が発生したときに、catch節で、以下の2種類の書き方をした時の挙動の…