C#

むう

C#

x.value : objectで、 int? y = x.p() ? null : (int)x.value;とするとコンパイルエラー。null : int?への変換は暗黙にはできないということなのかな。 int? y = x.p() ? (int?)null : (int)x.value;として回避。あとは、x : int?に対して、 object y = x ??…

C# C#

Listを、ComboBoxに.Items.AddRangeを使って追加しようと思ったら、これが大変。 List<string> list = ...; comboBox1.Items.AddRange(list.ToArray());とすると、(AddRangeの引数の型である)object と(list.ToArray()の型である)string の間に継承関係がないためコ</string>…

MultiMethod

C#

先日マルチメソッドに感激したので、C#でむりやり定義してみる。リフレクションを使えば、それっぽくできるんじゃないかと思って。

Mapack for .NET

C#

http://www.aisto.com/roeder/dotnet/C#で使える線形代数の計算ライブラリ。ライセンス不明でちょっと使いにくい。速度とかよくわかってないんですが、.NETでこういうのって他にどんなんありますか?あ、とりあえずオープンソースで。

Tuple

C#

http://d.hatena.ne.jp/akiramei/20040822#p1を参考にさせていただいて、Tupleを実装してみる。Generic Methodを使えば、そこそこ使えるものになるかな。

.Net雑感

C#

最近見聞きした.Net周りの話題。

GetHashCode

C#

class MyClass { ... public override string ToString() { //値の情報をもれなくstringに変換 ... } public override bool Equals(object o) { //参照の等価性ではなく値の等価性を判定するようカスタマイズ ... } public override int GetHashCode() { ret…

分数

C#

分数クラスを作ってみた。naiveな実装なので、ここでは実装を示さない。forで、100000回四則演算を繰り返すプログラムを書いて、doubleと比較してみるとやっぱり遅い。ReleaseでBuildするとずいぶん早くはなるが、やっぱり体感で5倍くらい遅い感じか。*1いや…

C# C#

TestDriven.Netをインストールしても、「Run Test」メニューなんて出てきやしねえ。なんだこりゃ。Visual C# Expressもサポートしてるって書いてあるのになあ。Beta2だからうまく動かないのか、日本語版だからうまく動かないのか。

C# C#

VisualStudio2005を入れたWindows2000で、NUnit2.2.2がうまく動かないので、よく知らないけど.Net Framework1.1を入れてみる。.Net Framework 1.1を入れただけではだめ。http://geekswithblogs.net/jgonzalvo/archive/2004/10/29/14060.aspxをみて、nunit-gu…

C# C#

マウス入力を取り扱うためのクラスを書く。いまいち。delegateとイベントの違いがよくわからない。delegateは(外側のスコープにアクセスできるのが)便利なのでもっとがしがし使いたいところだが、やっぱりクラスにしてしまったほうが便利なことも多い。ずっ…

そういうわけなので

C#

うっちゃってVisualC# 2005 express beta2で遊ぶ。リファクタリングサポートツールが面白い。クラス名をばばーっと全部変更してくれるのはなかなか便利。namespace名の変更がうまくいかないのは残念だが。OCamlにも、IDEが欲しいなあ。eclipse-fpを眺めてみ…

匿名メソッド&Generics

C#

ちょっとサンプルを作ってみた.品のないサンプルで,ごめんなさい.本当はクイックソートにしたかったんです. namespace ClosureExample { public class ArraySorter<T> { public delegate int Compare(T t1, T t2); public void BubbleSort(T[] ts, Compare </t>…