C# + WPFでSetPixel、GetPixelする

WinFromの時代には、System.Drawing.Bitmapクラスがあってそのクラスには、1ドットごとに色を指定して絵を描くことができるSetPixel関数が付いていました。 一応、「WriteableBitmap」というクラスがあるのですがちょっと操作感が求めてるのと違います。あと…

C#でTemplate Methodパターンを実装する

GoFのデザインパターンの中でも、振る舞いに関するパターンの1つであるTemplate MethodパターンをC#で実装したいと思います。 Template Methodパターンとは? Template Methodパターンとは、処理の手順を基底クラスで決めておいて、具体的な動作を後から派生…

Stellaris新DLC「Synthetic Dawn」ロボット帝国プレイレポ

Stellarisの新DLC「Synthetic Dawn」とパッチ1.8が2017年9月末に配信されました。 今までのゲームに対し大幅な変更とリバランスが入ったため今までの1.6.2までで鉄板と言われていた攻略法とはかなり違う感じになっています。細かい変更はパッチノートが出て…

中3の15%、短文も理解困難が話題なので解いてみた。C#で。

何か少し火種がくすぶっているようなので自分で解いてみました。 https://www.nasnem.xyz/entry/incorrect-comprehension-test http://mubou.seesaa.net/article/453754579.html 国語の問題らしく設問はこんな感じだそうです。 読解力テストの問題例(1) 以下…

MahAppsでマテリアルデザインっぽいボタンを実装する

WPFのオープンソースのGUIライブラリMahAppsを使ってマテリアルデザイン風のボタンをサクッと実装してみました。 作成環境 Windows10 VisualStudio2017 Update3 (15.3.5) .NET Framework 4.7 MahApps.Metro使用 FLATICONを利用 出来上がったもの 使った小技…

C#で汎用リトライ処理を実装する

C#

2020-08-12 C#でリトライの共通処理を書いてみました。 特定の操作を指定した回数分自動でリトライしてくれる仕組みになります。 VisualStudio2017 + .NET4.7 + C#7.0で書いています。(Null条件演算子使ってるので、C#6.0以降なら動くかと) リトライのコード…

C#でリストの特定の要素の位置を変更する

あるリストに入ってる1つの要素の順序(位置)を変更します。 例えば、5番目の要素を3番目に移動したいなどの状況想定します。List クラスを使いますがこのようなメソッドは存在しません。 実装例 順序変更を List クラスの拡張メソッドとして実装したいと思い…

任意の値型をジェネリック(T)型にキャストする

C#

2022-07-26 ジェネリックの型の変数を int や bool などの値型にキャストして返却する方法の紹介です。 変換できないエラーが出る 以下の例では、型チェック後には型が判明しているのですが、コンパイルできずエラーになります。 public T Convert<T>(string ke</t>…

Pavel Haas - オーボエとピアノのための組曲

はじめに ネットで楽譜と音源の両方が参照できる器楽曲を紹介していきたいと思います。 楽曲情報 作曲者:Pavel Haas - パヴェル・ハース 年代:1899年 ~ 1944年 曲名:Suite for Oboe and Piano Op.17 - オーボエとピアノのための組曲 作品17 作曲時期:19…

System.Threading.Semaphoreの使い方

C#

C#のセマフォの使い方です。 C#のセマフォは主に以下の2つのシーンで利用します。 同時に度に実行できるスレッドの数を制限したい 複数のスレッドの進行を同期したい 同時にXXXする数を制限したいという仕様があったときに効果を発揮します。大抵は、共有資…

C#のusingステートメントの機能

C#

IDisposabeleインターフェースを継承したクラスは、以下のように。usingを使用して以下のように記述すると using(var hoge = new Hoge()) { } 以下のように展開されたのとほぼ同じような形で処理が行われ、リソースが即座に解放されます。 Hoge hoge = null;…

C#の4つのTimerの用途と使い方

C#というか.NETのタイマーの種類について整理と説明をしたいと思います。 Timers.TimerとThreading.Timerの概要 Forms.TimerとDispatcherTimerの概要 4種類のオブジェクトの使い方 System.Timers.Timerの使い方 System.Threading.Timerの使い方 System.Windo…