- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c# 暗黙/明示的型変換の許容範囲)
c# 暗黙/明示的型変換の許容範囲
このQ&Aのポイント
- c#初心者のための暗黙/明示的型変換の許容範囲についての質問
- c#で暗黙/明示的型変換を定義することができるが、どの程度の変換が許容されるか疑問
- 具体例を交えて、暗黙/明示的型変換の許容範囲について詳細を知りたい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私の判断はどちらも不可。 まず,基本的なところ。 MSDN: 変換演算子 http://msdn.micosoft.com/ja-jp/library/ms229033.aspx 後者の例について, > 型のドメインの外部で変換演算子を定義しないでください。 に反する以上,変換演算子を「定義すべきではない」となる。 次に,前者について,本質的に百分率の値である以上,10%は0.10mと等しいはず。 さらに,intをPercentageに変換したい場合,値を保持するのか,表現を保持する(=1/100の値を保持する) のか,両方の要求が存在する。 故に,intからPercentageへの変換は明示的な名前のついたメソッドで行うべき。 # decimalへのimplicit castは必要であればあってもよい。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
1点だけ: 百分率は (パーセントを単位としても) 整数とは限りません. そして, System.ComponentModel.ProgressChangedEventArgs において整数としているのは「そのように設計した」以上の意味を持ちません.
質問者
お礼
回答ありがとうございます。 そういうことだったんですね。以後気をつけます。
お礼
回答ありがとうございました。 よく考えてみれば、今、ボーダーラインを曖昧に知っておくよりは、今後、個別にOKかNGかの質問をするほうが理にかなっているようです。 今回はこんな初心者に付き合ってくださってありがとうございました。
補足
毎度毎度、回答・ご指摘ありがとうございます。 > 私の判断はどちらも不可。 そうですね。よく考えればこの前読みました。もう少しいい例を考えるべきでした。 ただ、少し、補足させてください。 > 本質的に百分率の値である以上,10%は0.10 > intをPercentageに変換したい場合,値を保持するのか,表現を保持する(=1/100の値を保持する) のか 百分率の値ではなく、百分率そのものです。前記の型変換がよいかどうかはともかく、百分率が整数であるとしたのは「System.ComponentModel.ProgressChangedEventArgs」の「ProgressPercentage」を見てください。整数型になっているはずです。 また、辞書によると 「全体を100としたとき、そのうちのいくらにあたるかということ。単位はパーセント。」 です。と言うわけで、百分率=整数と判断しました(上記の型変換がよいかどうかは別として)(間違いがあればご指摘ください)。 それともう一つ、本題のボーダーラインって分かりませんか? 曖昧かつ初歩的なな質問で苦労されるかと思いますが…。