C#C#2018-10-19C#のList<T>.ForEachでTが構造体の値を更新するC#前回、C#の配列にForEachメソッドを追加すると同じく、ListのTが構造体の場合、ForEachメソッド内で引数に対する変更がListへ反映されないため、拡張メソッドの機能を利用して、変更が反映される操作を追加します。動作の違いを確認するC#この話、何度も説明をしているのでいい加減何か書き残した方が良いと思ったので、概要をまとめたいと思います。何が違うのかの紹介になります。XAMLViewへリストの変更を通知するための機能を持つObservableCollectionですが、以下のようにデータソースがListや配列だと変更が検出できません。今回は、Modelのリストが非ObservavleCollectionの場合、やや制約がありますが変更をViewが検出するための仕組み...非ObservableCollection<T>の変更を検出・通知する2018-10-12C#の配列にForEachメソッドを追加するC#C#の配列にForEachメソッドを直接追加する方法を紹介したいと思います。ForEachメソッドは、Pythonにmap関数とほぼ同じ機能を持ちます。map関数は「map関数は、イテラブルオブジェクトに対しその全ての要素に指定した関数を実行し、結果をシーケンスとして...C#の配列にForEachメソッドを追加する2018-10-12C#で配列のサイズ変更や要素を末尾に追加するC#C#で宣言済みの配列のサイズを変更するためにはArray.Resizeを使用します。末尾に要素を追加する場合、Resizeで+1した後最後にデータを追加します。実装コードは以下の通りです。Coreなどの環境がだんだん発達してきて、WebAPIを作成したり繋いだりするケースが増えてきていると思います。finally)構文の使い方について紹介したいと思います。この構文は、(1)通常処理するtry節、(2)例外が起きた時にそれを処理するためのcatch節と、(3)tryを抜ける時に必ず実行されるfinally節で構成されます。Machines)を作成してゲーキャラクターの制御を行ったので実装例を紹介したいと思います。「階層型のステートマシン」なんて言ったりもします。OpenCVQiitaの以下投稿でPythonを使用して画像から線画を抽出するという処理を見たのですが、この処理をC#で書き直したらどうなるかどういうコードになるか確認してきたいと思います。対象のコードの確認です。FrameworkC#のOpenCVライブラリのOpenCVSharp3でMatに高速でデータ読み書きする方法の紹介です。利用してデータの読み書きを行いたいと思います。3.4.1.20180...OpenCvSharpで画像データを高速に設定、取得する2018-08-08C#の変数の内部表現を確認するC#普段使用しているCPUは、最近はMacもインテルのCPUなので、バイトオーダーは「リトルエンディアン」が主流です。FrameworkC#の組み込み型で最も大きい値を扱える型は、decimal型で最大の整数として、79,228,162,514,264,337,593,543,950,335(7穰9228秭1625垓1426京4337兆5935億4395万0335)となっています。Cocos2d-xC#ではプロパティ構文というものがあります。これは、オブジェクトのメンバーへのアクセスを行うための、アクセッサー(setter/getter)をあたかも変数へのアクセスと同様に行える仕組みです。簡単なプ...C++でC#ライクなプロパティを実現する2018-07-25C#の組み込み型の値の範囲の確認C#C#で最初から使用できる型を組み込み型と言います。範囲使用できる範囲をすぐ忘れてしまうので自分のためにまとめてみました。他の型のある言語で利用できる型がC#にも用意されています。組み込み型の特徴は以下の通りです。WPF今回は、ひし形(というか任意の4点からなる四角形)と、ある点の衝突判定を行いたいと思います。与え、それぞれ四角形の内(=衝突している)外(=衝...ひし形と点の当たり判定を行う2018-07-23C#で表示する小数点の桁数を指定するC#C#で小数点以下の桁数を指定して文字列表示を行う方法を紹介したいと思います。浮動...C#で表示する小数点の桁数を指定する2018-07-17C#の自動実装のイベントは解放されるのか?C#C#では、プロパティのイベント版ともいえる「自動実装イベント」を以下のように宣言することができます。C++C#の相互運用(C#からネイティブDLLの呼び出しの場合)で構造体の中に構造体配列のポインタを持つ関数のマーシャリングのやり方です。ネイティブのDLL側の宣言は以下のようになっているとします。外部に公開する関数...メンバーに構造体配列(のポインタ)を持つ構造体のマーシャリング2018-07-07C#の自動で作成されたイベントハンドラの命名規則C#イベントハンドラを自動生成した時に、以下のメッセージで注意を受ける事があります。IDEが自動で作ったコードをこちらに修正しろというのもいちょっとよ...C#の自動で作成されたイベントハンドラの命名規則2018-07-05拡張メソッドを使ってObjectクラスを拡張しstringプロパティを一括でEmptyに初期化する。C#以前に、ブログで書いた「C#でstringを一括でEmptyに初期化する」という記事でstringのプロパティに対して一括でstring.Emptyを設定する方法を紹介しましたが、今回は拡張メソッドを使用してObjectoクラスを拡張してstringクラスへ初期値として任意の値を設...拡張メソッドを使ってObjectクラスを拡張しstringプロパティを一括でEmptyに初期化する。OpenCVタイトルの通り、OpenCvSharp(ver.3.x系)を使って画像を左右に90度倒した後、画像をリサイズして、はみだした状態や黒部分が無い状態にします。回転だけすると以下のように意図しない状態や黒い帯が出て微妙に調整が必要だったりします。C#2018年6月2日現在、VisualStudioの.NETのC#プロジェクトでC#7.3などの最新のC#規格を利用可能にする方法を紹介したいと思います。(何故か、C#7.0までの構文しか使えず調べるのに手間取ってしまったのでやり方のメモとなります。FrameworkFizzBuzzの問題の解法は出尽くしていると思いますが、自分でコードを書いた事が無かったためチャレンジしてみようと思います。(≒C#7.2)です。