タグ

2013年5月23日のブックマーク (4件)

  • 最近のWindowsの開発環境のセットアップ - 純粋関数空間

    周囲にWindowsユーザがめっきり減ってきた昨今ですが、 Windowsユーザの皆様はいかがお過ごしでしょうか。 Windows8は使えないだの、 シェルがしょぼいからあれだのと言われることも多いですが、 圧倒的にたくさんのPCで安心して動かせるOSとして、 私個人としてはとても便利に使っています。 Let’snoteのCF-S10Dという2年ほど前の機種を使っているのですが、 ようやくPanasonicのWindows8サポートがこの機種までやってきたので、 Windows8に入れ替えることにしました。 実は発売当初にもWindows8を入れていたのですが、 Let’snoteを快適に使うには必須の、「くるくるホイール」が使えなかったり、 謎の認識されないデバイスがあったりだったので、 Windows7に戻していました。 というわけで、セットアップついでにそのときの記録を書いておこうと

  • C#と諸々 静的コンストラクタ

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) 以前、コーディング俺規約 - フィールドの初期化という記事で、フィールドの初期化はコンストラクタで行った方がいいと書きました。そして、 「静的フィールドも同様に静的コンストラクタで初期化する。」 と書きました。が、静的フィールドの初期化に関しては、静的コンストラクタで行うのは不適切なようでした。理由は、以下に記述。 静的コンストラクタはインスタンスコンストラクタと違い、コンパイル時に特殊な処理が行われる。 静的コンストラクタを明示的に宣言しない場合、コンパイラが静的コンストラクタを用意してくれる。しかし、それだけではなく、beforefieldinitというフラグがそのクラスのMSIL定義に追加される。 静的コンストラクタを明示的に宣言した場合は、be

    t_a_o
    t_a_o 2013/05/23
    beforefieldinitフラグ
  • C#と諸々 Lazy<T> クラスを使用した仮想プロキシ

    C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) .NET Framework 4.0 から、遅延初期化を行うためのクラスが新しく追加されました。 Lazy(T) クラス (System) 遅延初期化と聞いてすぐに連想されるのはレイジーロードパターンです。 以前、仮想プロキシによるレイジーロードについての記事を書きました。 今回、VirtualList<T> クラスの実装を、Lazy<T> クラスを使用するように変更してみます。 VirtualList<T> クラス using System; using System.Collections; using System.Collections.Generic; /// <summary> /// リストの仮想プロキシです。 /// </summary

    t_a_o
    t_a_o 2013/05/23
  • C# 4.0 メモ: Lazy<T> による遅延リストの作成

    2012-07-26 (鈴) 1. はじめに 2. Lazy<T> による遅延リスト LazyList の作成 3. LazyList を使った遅延評価によるフィボナッチ数の計算 4. フィボナッチ数列で 1000 桁になる最初の項を求める例 5. おわりに LazyList.cs: C# 4.0 の Lazy<T> による伝統的な遅延リスト test-lazy.cs: 遅延リストの簡単なテスト lazy-fib.cs: フィボナッチ数の最初の 50 個を求める例 lazy-fib2.cs: フィボナッチ数列で 1000 桁になる最初の項を求める例 1. はじめに "Groovy 応用: LINQ ライクなメソッドによるフィボナッチ数の計算 - 7. フィボナッチ数の計算" ではフィボナッチ数を計算し表示するコード例を Ruby,Groovy とともに C# で示した。 それは yield

    t_a_o
    t_a_o 2013/05/23