Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharpNotesForProfessionals.pdf
Скачиваний:
65
Добавлен:
20.05.2023
Размер:
6.12 Mб
Скачать

Chapter 36: Type Conversion

Section 36.1: Explicit Type Conversion

using System;

namespace TypeConversionApplication

{

class ExplicitConversion

{

static void Main(string[] args)

{

double d = 5673.74; int i;

// cast double to int. i = (int)d; Console.WriteLine(i); Console.ReadKey();

}

}

}

Section 36.2: MSDN implicit operator example

class Digit

{

public Digit(double d) { val = d; } public double val;

//User-defined conversion from Digit to double public static implicit operator double(Digit d)

{

Console.WriteLine("Digit to double implict conversion called"); return d.val;

}

//User-defined conversion from double to Digit

public static implicit operator Digit(double d)

{

Console.WriteLine("double to Digit implict conversion called"); return new Digit(d);

}

}

class Program

{

static void Main(string[] args)

{

Digit dig = new Digit(7);

//This call invokes the implicit "double" operator double num = dig;

//This call invokes the implicit "Digit" operator

Digit dig2 = 12;

Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val); Console.ReadLine();

}

}

Output:

GoalKicker.com – C# Notes for Professionals

143

Digit to double implict conversion called double to Digit implict conversion called num = 7 dig2 = 12

Live Demo on .NET Fiddle

GoalKicker.com – C# Notes for Professionals

144