どこかのだれかへ

ボク、プログラマ。

C#

BitmapImageをbyte[]に変換する

各フォーマット毎にBitmapEncorderがあるので、コレを使います。 BitmapImage image = /*pngイメージ*/; var encorder = new PngBitmapEncoder(); encorder.Frames.Add( BitmapFrame.Create( image ) ); using( var stream = new MemoryStream() ) { encorde…

Null条件演算子というのを初めて知った

C#

WPFとMVVMについて色々調べていたら、C# 6.0からの可能でNull条件演算子があることを知りました。これめっちゃ便利ですね、だいぶコードがすっきりします。 C#はどんどん新しくなっていきますが、全然追ってないのでこんな浦島太郎状態なことに鳴ってしまい…

名前の末尾の数字をカウントアップして返すメソッド

C#

ツールとかで要素をコピーした時の新しい名前は、賢く末尾の数字がカウントアップしていくのが嬉しいと思うのです。 static string CountUpName( string name ) { Match match = Regex.Match( name, "(^.*)([0-9]+$)", RegexOptions.RightToLeft ); if( matc…

Stack<T>の複製が罠な件

C#

コピーコンストラクタで複製したつもりが、順番が入れ替わっている罠があり、今日引っかかりました。 Stack<int> stack = new Stack<int>(); stack.Push( 1 ); stack.Push( 2 ); stack.Push( 3 ); // 3, 2, 1 Stack<int> clone = new Stack<int>( stack ); // 1, 2, 3 StackはSta</int></int></int></int>…

華麗な異常終了の為にキャッチされなかった例外を受け取りたい

C#

例外が発生たけど誰も受け取ってくれなかった!という時のイベントがあるので、これを使うと見っともない異常終了ダイアログをユーザーに見せなくて済みます。 キャッチされなかった例外を受け取る もちろんプロ生ちゃん時報でも対応済です。 (メッセージボ…

イベントのNullチェックを省略する

C#

毎回イベントのNullチェックするのって面倒ですよね。 空のdelegateを登録することで、省略することが出来ます。 EventのNullチェックを省略する