- - PR -
Int32 を Decimal にキャストできません
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-05-29 11:28
は、プリミティブ型ではなく、値型全般にあてはまります。
いいです。
言語処理系が隠したり、相互変換する場合もあります。 ランタイムが使用する型が言語非依存に設計されているだけで、各言語処理系で使用する型がすべてそれをきっちりと反映しなければならない、というルールはありません。 | ||||||||||||
|
投稿日時: 2008-05-29 13:11
私は普段、あまり細かいところまで意識して言語を使っているわけではありません。
なのでこういった話題にはあまり参加してこなかったのですが、未記入さんに触発されたので書いてみます。
そのほうが便利だから、楽だから、だと思います。 未記入さんがそうされたように、Int32やDoubleなど、実行時に複数の異なる型が想定されるものを入れる器としてはObject型のインスタンスを使うと思います。 ComboBox.SelectedValueや、DataGridViewCell.ValueなどのプロパティもObject型です。 それであれば、そのままObject型を受け取る作りにしてあったほうが便利だと思います。 また、IConvertible インタフェースというものは、言語仕様を陰から支えているような存在だと思います。 そういったものはあまり表に出してやらず、普段は意識しないで使えたほうが都合がよいのだと思います。 # 実際、知らずに「基本型どうしは変換できる」くらいの意識で使っているC#プログラマも少なくないのではないでしょうか…というか私がそうでした |