Числовые типы преобразование

 

К числовым типам со знаком и без применяются расширяющие неявные преобразования. Иерархия преобразований показана на рис. 15.1. Если от исходного типа можно по стрелкам перейти к результирующему типу, значит, существует неявное преобразование от источника к результату. Например, существуют неявные преобразования от sbyte к short, от byte к decimal и от ushort к long.

Учтите, что изображенный на рисунке путь от исходного типа к результирующему не означает, что преобразование выполняется именно в такой последовательности. Он всего лишь говорит о том, что такое преобразование возможно. Другими словами, byte преобразуется в long за одну операцию, без промежуточных преобразований в ushort и uint.

class Test

{

public static void Main()

{

// Все эти преобразования выполняются неявно

sbyte v = 55;

short v2 = v;

int v3 = v2;

long v4 = v3;

// Явное преобразование к "меньшим" типам

v3 = (int) v4;

v2 = (short) v3;

v = (sbyte) v2;

}

}

Предлагаю ознакомиться с аналогичными статьями: