http://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/programming/csharp/ap_ver2.html
C#2.0からはJavaのTigerでも取り入れられたGeneric が追加されますね。キャストが必要なくなるのでコードがすっきり みやすくなりそうです。
System.CollectionsではなくSystem.Collections.GenericにあるListクラスですか。 あとよく使うHashtableに該当するのはKeyValuePair?でもstructで値型なので違いそう。。。
あとはNullableいいですね。?を型の後にいれるとNullable型になるみたいです。
int? a = null; if(a.HasValue)
JavaみたいにintをラップしたIntegerクラスがC#にはありません。 なのでintのような値型は必ず初期化されてしまうため、初期化された0なのか初期化した0なのかの分別が付かなかったため、bool型を用意することで回避することが多かったと思います。こういう用途以外で使うのは混乱の元になりそうなのでやめておいたほうがよさげですね。
主にユーティリティクラス作成時に面倒くさかったものを解決するstatic class。
public static class StringUtil
今までは
public sealed class StringUtil
{
private StringUtil() {}
っていうふうな決まり事をしないといけなかったから便利。
自分にとっては他の機能は今すぐ欲しいっていうものじゃないかもしれないです。 時間があったら試してみようと思います。
あと新しいからってウキウキして使って自爆(ならまだしも誤爆)はやめておきます。