Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Приведение типов в выражениях C# Полное руководство Герберт Шилдт

Приведение типов в выражениях C# Полное руководство Герберт Шилдт

Приведение типов можно применять и к отдельным частям крупного выражения. Это позволяет точнее управлять преобразованиями типов при вычислении выражения. Рассмотрим следующий пример программы, в которой выводятся квадратные корни чисел от 1 до 10 и отдельно целые и дробные части каждого числового результата. Для этого в данной программе применяется приведение типов, благодаря которому результат, возвращаемый методом Math. Sqrt (), преобразуется в тип int.

// Пример приведения типов в выражениях.
using System;
class CastExpr { static void Main() { double n;
for(n = 1.0; n <= 10; n++) {
Console.WriteLine(
"Квадратный корень из {0} равен {l}11, n, Math.Sqrt(n));
Console.WriteLine("Целая часть числа: {0}" , (int) Math.Sqrt(n));
ConsoleiWriteLine ("Дробная часть числа: {0}11,
Math.Sqrt(n) - (int) Math.Sqrt (n) );
Console.WriteLine ();
}
} .
}

Вот как выглядит результат выполнения этой программы:
Квадратный корень из 1 равен 1 Целая часть числа: 1 Дробная часть числа: 0
Квадратный корень из 2 равен 1.4142135623731 Целая часть числа: 1
Дробная часть числа: 0.414213562373095
Квадратный корень из 3 равен 1.73205080756888 Целая часть числа: 1
Дробная часть числа: 0.732050807568877
Квадратный корень из 4 равен 2 Целая часть числа: 2 Дробная часть числа: 0
Квадратный корень из 5 равен 2.23606797749979
Целая часть числа: 2
Дробная часть числа: 0.23606797749979
Квадратный корень из 6 равен 2.44948974278318 Целая часть числа: 2
Дробная часть числа: 0.449489742783178
Квадратный корень из 7 равен 2.64575131106459 Целая часть числа: 2
Дробная часть числа: 0.645751311064591
Квадратный корень из 8 равен 2.82842712474619
Целая часть числа: 2
Дробная часть числа: 0.82842712474619
Квадратный корень из 9 равен 3 Целая часть числа: 3 Дробная часть числа: О
Квадратный корень из 10 равен 3.16227766016838
Целая часть числа: 3
Дробная часть числа: 0.16227766016838
Как видите, приведение результата, возвращаемого методом Math. Sqrt (), к типу int позволяет получить целую часть числа. Так, в выражении
Math.Sqrt(n) - (int) Math.Sqrt(n)
приведение к типу int дает целую часть числа, которая затем вычитается из всего числа, а в итоге получается дробная его часть. Следовательно, результат вычисления данного выражения имеет тип double. Но к типу int приводится только значение, возвращаемое вторым методом Math. Sqrt ().