インデクサ public int this[int index] { get {return (int) values[index];} set {return values[index] = value;} } public Foo this[string key] { get {return values[key];} set {return values[key] = value;} } as演算子はキャストできなかったらnullを返す。 as演算子は値型に使用することはできない