2009-08-30 6 views
2

В чем разница между Cast & Преобразование в C# 2008?Cast and Convert

+0

Этот вопрос очень очень расплывчато. В каком контексте? Вы говорите об операторах конверсии? – nawfal

+0

Возможный дубликат [is-casting-the-same-thing-as-conversion] (http://stackoverflow.com/questions/143997/is-casting-the-same-thing-as-converting) – nawfal

ответ

3

Cast позволит вам безопасно преобразовать определенные типы данных, например, , double-> int

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

Здесь cast принимает двоичное представление 3.5 и помещает его в целочисленное представление. Поскольку целое число не имеет фракций, оно отбрасывается и также разрешается. Выделение строки в целое число таким образом не так просто и не допускается компилятором.

Конвертировать умнее и конвертировать больше типов данных из одного в другое, например. Строка -> булева

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

Also see this stackoverflow discussion on this topic.

-1

В ролях, как правило, медленнее, и может сделать неявным и явным converion операторов

+4

Я бы был интересно узнать, почему вы утверждаете, что литье происходит медленнее? Посмотрите на реализацию Convert.ToInt32 (двойное значение). Он заканчивает выполнение внутренних и дополнительных операций. –

0

Отличие заключается в том Преобразовать методы позволяют определенное форматирование (то есть. IFormatProvider)