2009-09-02 3 views
3

Почему необходимо преобразовать значение (например, короткое) в строку, а затем в Int32. Почему он не может быть преобразован из short в Int 32?Использование Int32.Parse

+0

Это очень чувствительный вопрос новобранец. – ChaosPandion

ответ

8

Там нет необходимости даже в какой-либо явного преобразования:

short s = 23; 
int k = s; 

Кроме того, любые числовые литералы (без какой-либо вроде суффикса), в любом случае, являются int32.

- Edit

Причина явное приведение не требуется, потому что short всегда меньше, чем int, таким образом, short всегда будет полностью вписываться в размер с int, так что нет потенциальной потери данные.

4

Вам не нужно это, потому что вы можете бросить:

short shortNumber = 11; 
int notAsShortNumber = (int)shortNumber; 
+2

Нет, нет явного выражения. –

+0

Это, безусловно, дает понять, что вы намеревались. – ChaosPandion

+0

Я видел такой код: shortvalue = 100 integervalue = 1000 integervalue = integervalue + int32.Parse (shortvalue.ToString()); Почему значение shortvalue преобразуется в строку, а затем в Int32? – DotNetRookie

Смежные вопросы