謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

資格試験

書くDictionary系コレクションのベンチマーク

色々やってみた。 Collection:Hashtable Insert 100000 : 13(msec) AccessRandom 100000 : 6(msec) SequentialAccess 100000 : 9(msec) ------------------------------- Collection:SortedList Insert 100000 : 27(msec) AccessRandom 100000 : 22(msec) Se…

ソートしてみる

ソートを行うコードをいろいろ書いてみる。 まずは外部定義でソート条件を記述するタイプ。 class SampleSortable : IComparer<string> { public int Compare(string x, string y) { return x.Length > y.Length ? 1 : -1; } } class Program { static void Main(str</string>…

型変換を定義する

互換性のない型同士で、暗黙、明示的な型変換を定義する。 class TypeConvertionOne { public string haveCode { get; set; } public static implicit operator TypeConvertionOne(string one) { return new TypeConvertionOne() { haveCode = one }; } publ…

TypeForwardedToAttribute使ってみる

オライリー本読んでたら見慣れないキーワードが出てきたので使ってみた。 どうも日本語の情報がなかなか見当たらないんだ、、、、、まぁいいけど。 アセンブリは Libarary1 namespace ForwardTest { public class SampleForward { public string Message(str…

各種Dictionary使ってみる

Genericあるのにいまさら非Genericなのを新規に使う意味は薄そう。 正直保守性下がるしw static void Main(string[] args) { System.Collections.Hashtable hashTable = new System.Collections.Hashtable(); System.Collections.Specialized.ListDictionar…

Genericなコンテナ使ってみる

Dictionary で使う。 var 使って、VSのコード保管してるうちはいいけど、KeyValuePair 型なんて知らないと出てこないよな。 .NET のこういうトコ微妙w static void Main(string[] args) { Dictionary<string, int> container = new Dictionary<string, int>(); container.Add("azalea"</string,></string,>…

.NET のGenericパフォーマンス比較してみる

C#3.5 以上のコンパイラだと、2.0対象でもいろいろシンタックスシュガー使えるので楽ね。 コンパイル後の中間コードに、generic 専用構文があるから、変換コストゼロで使える。 逆にJavaの場合、コンパイラが暗黙でキャストするだけだから、変換コストがかか…