2009-08-30 14 views
2

キャストとの違いは何ですか& C#2008で変換しますか?キャストと変換

+0

この質問は非常に非常にあいまいです。どの文脈で?あなたはコンバージョン演算子について話していますか? – nawfal

+0

可能性があります[キャスティングと同じものと同じもの]の複製(http://stackoverflow.com/questions/143997/is-casting-the-same-thing-as-converting) – nawfal

答えて

3

キャストは、あなたが安全に、特定のデータ型を変換することができます、例えば変換であります。 double-> int

double a = 3.5; 
int b = (int) a; //fraction will be truncated 

ここで、キャストは3.5というバイナリ表現を採用し、整数表現にしています。 integerは分数を持たないため、削除され、許可されます。この方法で文字列を整数にキャストすることは、単純ではなく、コンパイラによって許可されていません。

よりスマートに変換し、より多くのデータ型を1つから別のものに変換します。文字列 - >ブール

string myString = "true"; 
bool myBool = Convert.ToBoolean(myString); 

Also see this stackoverflow discussion on this topic.

-1

キャストは、一般的に遅く、implictと明示的なconverionオペレータに

+4

私はキャストが遅いと主張する理由を知りたいのですか? Convert.ToInt32(double value)の実装を見てください。それは内部的および追加の操作をキャストすることに終わります。 –

0

一つの違いを行うことができます方法は、特定の書式設定を許可する(すなわちするIFormatProvider)

関連する問題