C#
入るらしい。範囲も欲しい! http://www.infoq.com/news/2014/08/Pattern-Matching
C#5 では、ループ変数とラムダ式の嫌な問題を一つ直すようです。 var values = new List<int>() { 0, 1, 2 }; var funcs = new List<Func<int>>(); foreach ( var v in values ) funcs.Add( () => v ); foreach ( var f in funcs ) Console.WriteLine( f() );このコードを実</func<int></int>…
http://sites.google.com/site/siokoshou/ Windows 7 x64 でのみ動作確認済みです。.NET3.5 入り XP でも動きます。↓のMac版とだいたい同じモノのつもりです。でも、Mac持ってないし本家のモノを動かしたわけではないので本当に同じかわかりません。 http://…
プログラムでは整数の四則演算はよくよく注意しないと足をすくわれることがあります。 整数と呼んでるものが普通と違って範囲があって循環しているためです。最大値と最小値の絶対値が 1 ズレているのもいや〜な問題の元になります。この 1 ズレのため除算で…
id:siokoshou:20090717、id:siokoshou:20090721、id:siokoshou:20090722 に続く TPL の記事。ベータ2の改良点がパラレルチームの blog に投稿されています。でも、今回はそんなのがどうでもよくなるほど驚いたネタ。 ベータ2で7月に試したコードを実行してみ…
Rx とは このごろじわじわと情報が出てきている Rx こと Reactive Framework で遊んでみました。x はどっから出てきたの?ってつっこむのがお約束らしいw pull 型の IEnumerable/IEnumerator をひっくり返して、push 型な IObservable/IObserver を作ったそ…
Atomic の実験をしてみました。下のコードの Reader スレッドでは表示されることはなさそうに見えますが、実際には何度も何度もいろいろな値が表示されます。 x86 ではボコボコ表示されます。 x64 では試した限りでは起きませんでした。でも起きないことは保…
using を補完したり、インターフェイスの実装を補完するときに使うスマートタグ。 これをキーボードで開くショートカットは「Ctrl+.」。 . じゃ見えないかもしれないので日本語でも書いておくと「コントロール + ピリオド(ドット)」ねw これを知るまでいちい…
WPF の DataGrid に新規追加の行(NewItemPlaceholder)が表示されなくて数日はまったので、解決方法のメモ。新規追加の行と言ってるのは、ユーザがアイテムを新たに追加するためのプレースホルダのこと。表示される場合は、デフォルトでは空の行が表示されま…
C#コンパイラチームにいた Sreekar Choudhary さんが Halo チームに移動したそうな。 C#4コンパイラができあがったのかもしれない。http://blogs.msdn.com/sreekarc/archive/2009/09/05/joining-halo-team.aspxそれにしてもなんとまあ極端な…w
よく忘れるのでメモ。ダークサイドの技なのでご利用はほどほどに。 var ms = from type in ... // for debug let a = Console.WriteLine( type.Name ) is object from method in type.GetMethods( ... select method; ネタ元 素数を求める1行プログラム(C#3…
id:siokoshou:20090817#p1 のつづきです。.NET Framework を調べて、名前付け/設計の参考にしてしまおうというシリーズの2回目です。今回は bool を返すメソッドとプロパティの接頭辞を調べてみました。 Top30 Top は Is で bool を返すメソッドとプロパティ…
名前大事。間違いなく大事。名前大事を逆手にとって、名前をランダムに改変して読めなくするツールがあることからも、名前がいかに大事かわかります。 名前大事はわかるけど、うまい名前が浮かばないことがよくあって、そういうときはメソッドがうまく設計で…
こんなの書けるんだ。キモいんですケド。 int n = new int(); // 0
id:siokoshou:20090721 のつづき。前回は並列化したのに微妙に速くなっただけで、Parallel.For 使えばそれでおしまい。じゃないことがわかったところまで。今回はもっと速くします。 ここでちょっとおわびです。前回は気づいてなかったんだけど、ベータのベ…
.NET4.0 から従来よりも抽象的で簡単に使える並列ライブラリがどさっと追加されます。おもしろそうなので VisualStudio2010 のベータ1で試してみました。 結論から書くと Parallel.For すばらしい! Concurrent なコレクションはロックなしで複数タスクから…
ずいぶんと気合入れて追加してきてるみたい。気になるものをメモ。あとでしっかり読……みたい。 http://blogs.msdn.com/pfxteam/archive/2009/03/04/9457880.aspx ConcurrentBag : スレッドセーフってどういうこと?ロックしないで複数のスレッドから同時に A…
いろいろとコメントをいただいているうちに De Bruijn sequence がわかってきました。初めは数学的な背景には興味がなかったんだけど、De Bruijn sequence をすべて列挙する問題が最近遊んでいるデータマイニングの頻出集合を求める問題とそっくりなことに気…
id:siokoshou:20090704 のはてブのコメント見てるとわからないってコメントが結構あるので、もう一度がんばって説明してみます。まあわかったところで得はないかもしれませんw public static int GetNumberOfTrailingZeros( long x ) { if ( x == 0 ) retur…
一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つ…
昨日の関連の話題。コード成分が足りなかったので補給に。 Dictionary を使って頻度を求めるのは定番中の定番の使い方だと思います。たとえば、"the quick brown fox jumps over the lazy dog" の文字列の中で、a が何回使われてて、b が何回使われているか…
数日前、オレンジニュースで「2008年度人工知能学会の発表資料「頻出パターン発見アルゴリズム入門 −アイテム集合からグラフまで−」(PDF)が紹介されてました。データマイニングに興味があったので読んでみると、タイトルどおりのわかりやすい入門記事だった…
昔書いた System.Diagnostics.Debug.WriteLine を dw[Tab] で呼び出すコードスニペットを更新しました。SimpleTypeName 関数を使ってちょっと賢くなりました。using の有無に応じて System.Diagnostics.Debug.WriteLine と展開するか、Debug.WriteLine と展…
日々、せっせとバグを作っている siokoshou です(^^; 注意喚起になればいいかなと思って、今日は自分のバグの恥さらしでも。 WPF の Binding で値の変更が反映されない問題が起きて、あーでもないこーでもないと長い時間かけて見つけた原因は、PropertyChang…
昨日触れた NumericUpDown で気になるところが。Value (現在の値) と Increment (増分または減分する値) が double なんです。double って0.1を10回足しても 1 にならなかったり、n + 1 == n が真になったりするから怖い。何を言ってるのかわからねーと思う…
こんばんは、siokoshou です。気になる色は Midori と Red です。あと .NET4.0。って色じゃないか。こないだの本に3進法のそろばんが載ってました。写真が載ってるので本当に作ってしまったようですw それがおもしろかったので、2進そろばんを作ってみまし…
スニペット使ってますか? cw 大好きです。 シングルトンのスニペットがあればいいなぁと思いつつ、そうそうシングルトンを使うわけでもないので今日まで放置でしたが、大量のシングルトンが必要になって(つっこまないで(^^;)ついに書きました。 書いたとい…
C# の仕様に「リフト」って言葉が出てくるのを知ってますか? null 許容型にリフト変換やリフト演算子という名前が出てきます。今日はその「リフト」のトリビア。ここまでだけでも十分トリビアの気もするけどw この名前、まず聞くことないし(^^; VisualStud…
間に合わなかった物全部入り詰め合わせパック。http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspxhttp://blogs.msdn.com/tims/archive/2008/05/12/introducing-the-third-major-releas…
一つ前の記事のコメントがすばらしすぎるのですが、長すぎて扱いづらいので無理やり記事を書いてみたり(^^;NyaRuRu さんが挙げた >・IEnumerable は [a] というより IO [a] ? >・実は LINQ to Object は IO と List の合成モナド? の部分について、ちょっと…