Приведение несовместимых типов

(целевой_тип) выражение

Здесь целевой_тип обозначает тот тип, в который желательно преобразовать указанное выражение.Рассмотрим для примера следующее объявление переменных.

double х, у;

Если результат вычисления выражения х/у должен быть типа int, то следует записать следующее.

(int) (х / у)

// Продемонстрировать приведение типов.

using System;

class CastDemo

{

static void Main()

{

double x = 10.0, y = 3.0;

byte b;

int i;

char ch;

uint u;

short s;

long l;

// Приведение типа double к типу int, дробная часть числа теряется.

i = (int)(x / y);

Console.WriteLine("Целочисленный результат деления х / у: " + i+"\n");

// Приведение типа int к типу byte без потери данных,

i = 255;

b = (byte)i;

Console.WriteLine("b после присваивания 255: " + b + " -- без потери данных.");

// Приведение типа int к типу byte с потерей данных,

i = 257;

b = (byte)i;

Console.WriteLine("b после присваивания 257: " + b + " -- с потерей данных.\n");

// Приведение типа uint к типу short без потери данных.

u = 32000;

s = (short)u;

Console.WriteLine("s после присваивания 32000: " + s + " -- без потери данных.");

// Приведение типа uint к типу short с потерей данных,

u = 64000;

s = (short)u;

Console.WriteLine("s после присваивания 64000: " + s + " -- с потерей данных.\n");

// Приведение типа long к типу uint без потери данных.

l = 64000;

u = (uint)l;

Console.WriteLine("u после присваивания 64000: " + u + " -- без потери данных.");

// Приведение типа long к типу uint с потерей данных.

l = -12;

u = (uint)l;

Console.WriteLine("u после присваивания -12: " + u + " -- с потерей данных.\n");

// Приведение типа int к типу char,

b = 88; // код ASCII символа X

ch = (char)b;

Console.WriteLine("ch после присваивания 88: " + ch);

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: