プログラミング
ジャグ配列を作るのって、じみ〜に面倒だったりしませんか。 そんなあなたに、ちょっとしたC#スニペット。こんなんどうでしょう。 using System; using System.Drawing; using System.Runtime.CompilerServices; namespace ConsoleApplication1 { public cla…
確かC#2.0から地味に(こっそり)追加されたキーワードだったと思いますが、 globalコンテキスト キーワードって、マイナーっぽいですね。 これを使って書いてるコードを仕事では見たことがないし。完全に存在が忘れられている感すらあります。 オライリー本の…
ExpandableObjectConverterのサブクラスで実装する内容TypeConverterAttribute属性を用いて、ExpandableObjectConverterおよび、その派生クラスを指定することで プロパティグリッドにネスト表示されるプロパティを作成することができます。 通常、Expandabl…
最適化のために最大公約数を求める必要があって、 ユークリッド互除法と拡張ユークリッド互除法を書いたので、チラ裏に残しておく*1。 ユークリッド互除法まずはよく見る実装をC#で public static int Gcd(int a, int b) { while (b != 0) { int r = a % b; …
またまたWindowsApplicationにおける標準コントロールが、空気読めなさすぎなのではないかというお話。 C#でTabIndexの階層構造順にControlを並べ替える方法の1つの例を示します。 TabIndexプロパティだけじゃ、TabIndexの階層構造わかんねーじゃん各標準コ…
C#で動的にDLL(ライブラリ)をロードしてアセンブリを作って、P/Invokeなdelegateを生成動的にDLL(ライブラリ)をロードするというシナリオは、意外と要求されることが多いのではないかと思います。 利用する関数があらかじめ明確になっているのであれば、その…
思いつきで「C#で和暦について本気出して考えてみた」の不定期連載を開始します。 タイトルが長すぎというツッコミは、心の中にそっとしまっておいてください。 予定している連載内容【初級〜中級編】 和暦構造体を作ろう。 IFormattable、ICustomFormatter…
大台 - 一生酩酊 そういうことなのか、わからないけど、きっとそういうことだよね。 てってってー言語で、メッセージを伝えてみるよ。 ててーててーててーててーててーててーててーててーてってっててーてってーててーてて ーててーててーててーててーててー…
遅ればせながら、C#でもタプルが欲しくなった今日この頃。 C#4.0では標準でタプルを用意してくれるっぽいけど、今すぐ欲しいよ。 HaskellやPythonなどにあるタプル。C#でも使いたいよね!タプルとは、いくつかの値(数値型、文字列型など)をひとつにまとめて…
以前、数値をアルファベット(26進数ぽ)へ変換、それはExcelのカラム名的な何か。という記事を書きました。 これは、10進数から26進数へ変換を行うだけの、ごくごく簡単なアルゴリズムです。 しかし、うちに来た人は「26進数から10進数 Excel 変換 C#」という…
ちょっとしたスニペットを置いておきます。任意のジェネリック型を動的に生成するためのメソッドです。 例えば、アセンブリ外に非公開の型についてジェネリック型を利用したいような場合等に有用です。 System.ReflectionやらSystem.Reflection.Emitを使って…
WindowsApplicationの標準コントロールってKYだよねというお話C#でもVB.NETでも当然同じなんだけど、TextBoxコントロールのReadOnlyプロパティをtrueに設定したら、 入力を受け付けなくなるので、背景色をグレーに設定したりする。でもフォーカスは普通に受…
そういや、過去にC#によるLispインタプリタの話題があったなぁ〜、と思い出した。 これだ↓ OKIソフトウェアによる、「C# による小さな Lisp インタープリタ」 C#2.0でMac OS X 10.4.11 上の Mono 1.9.1 で作成し、 同環境および Windows 2000/XP上の .NET Fr…
何かを受信(^o^)ノ プログラム言語「てってってー」 javascript - てってってー言語を移植してみた - 404 Blog Not Found Wikipedia - Brainf*ck というわけで、C#erな自分はC#で「てってってー言語」のインタプリタを書いてみました。 基本「Brainf*ck」の…
ネタ元 山本大@クロノスの日記 - アンチ型付DataSet派の自作ORマッピングよりなぜ型付DataSetを使うのか、型なしDataSetは使わないのか型付DataSetについては、嫌な思い出も少なくないので不満がないわけでもないのだけど、 常識的に考えて「型付DataSetを…
ニコニコ動画APIで動画情報とかサムネイルとかコメントとかFLVファイルとかいろいろ取得したりする 手抜きで作りかけの雑なC#のコードを今更ながらあげておきます。 いろいろダメなところ(手抜き)があるので、もし参考にするのであれば、そこん所ご注意くだ…
ネタ元:VB.NETで作る!移動、リサイズの出来るコントロールを作る http://shinshu.fm/MHz/88.44/archives/0000043418.html 単純におもろいなぁと思いまして、C#でMix-inっぽくシンプルにコントロールに実装できるように それ用のインターフェイスおよび、そ…
「ハッカーのたのしみ」はかなりの良書。いまさらFlagsAttributeのレシピ、リターンズ。.NET FrameworkにBitCountくらい標準であってもいいのにね http://d.hatena.ne.jp/zecl/20100228/p1 ※この記事の内容は古いです。上記の記事をあわせて読むことをオスス…
以前、C#2.0の匿名メソッドによるカリー化 という記事を書きました。 では、C#3.0ではどうなるのでしょう。 もちろんC#3.0でも匿名デリゲートを使うことはできますが、C#3.0であればやはりラムダ式です。 記述が簡潔になって、より直感的で分かりやすくなり…
※追記しました。2008/12/16 オブ脳寄りの人間なので、どうしても関数型脳に染まりきれないところはあるんですが、 今年Haskellを学んでみて、foldとかunfoldってのは、すっげー便利だなと思いました。 そんなわけで、C#でちょっくらfoldとかunfoldしてみよう…
ネタ元:id:kawatanさんのエントリより http://d.hatena.ne.jp/kawatan/20081210 IEnumerableを実装していれば何でもシャッフルって、素敵ですね〜。 カードゲームなんか作るときにサクッと利用できちゃいますね。 よいものは盗んじゃおう!ということで、さ…
タイプセーフenumパターンというのがあったのですね。知りませんでした。 ジョシュア ・ブロック氏が「Effective Java」という本の中で提案していたものらしいです*1。 いやはや、もっと幅広く勉強せんとなぁ・・。ということで、 id:bleis-tiftさんのエント…
プログラミングの話題を中心としたプログラマが主人公の漫画って、意外とない。 意外でもなんでもないんだけど、本当にない。俺は知らない。誰か書け。 そして出来れば週刊少年ジャンプで連載というカタチでお願いしたい。 絵は小畑健みたいな現実感のある落…
どう書く?orgにて、C#で既に書いてらっしゃる方が多数おられますが、 どうもコードを短くすることに重点を置いて書いているような感じで、正直なんだか読みにくいなーと思い・・・。 冗長だけどわかりやすく、オブジェクト指向っぽくライフゲームを書いてみ…
「ブラッディ・マンデイ」の高校生ハッカー藤丸君も使っている程に流行というPowerShell。 そんなわけで、とりあえず肩慣らしに当ブログ恒例の「世界のナベアツ問題」を書いてみた*1。 function nabeatsu { 1..40|%{ $n=@("Aho")[$_%3]; if (!($_.ToString()…
VB.NETでもC#でもいいんだけど、.NET Framework2.0以降でWindows.Formsなアプリを作る場合、 入力検証を行うようなときは、ErrorProviderを使いたいよね!*1というお話は、 .NETで飯を食っている人にとっては割と常識ではないかと思っていたのだが、実際のと…
ニコニコ動画などから得られるFLVファイルですが、 C#でお手軽に再生するには、ActiveX Control(AxShockwaveFlash)に頼るといいっぽい。 アスペクト比が指定できなかったり、再生できないFLVも結構あるようですが、まぁお手軽ということで。 ※FLVファイルを…
他人のコードをコピペして、コードレビューの時に説明できなかったら恥ずかしいww 下向いちゃうしww 男ならなんでもかんでもコピペしないで欲しい・・・ コードレビューのとき真顔で「それはおまじないです。」とか・・・・もう最悪ww せめて普通に理…
以下のような感じで、特定のインターフェイスを持つプラグインを取得するメソッドを作ってみた。 複数の種類のプラグインを利用するアプリなんてそうそうない気がしないでもないが、 こんな感じでひとつ作っておくと便利。やっぱLINQとyield使うと、かなりす…
マイクロソフトから提供されてるEntLib*1に含まれている DIコンテナを弄ってみた。 思っていたよりもいい感じにDIできますね。うんこれは便利。 Microsoft Enterprise Library 4.1 – October 2008 構成ファイル(*.config)から手軽に依存性の注入をしようDIコ…