30/09/2018, 17:58

Explicit operator trong C# dùng để làm gì?

tình hình là mình đang học c# mình không hiểu đoạn này

public static implicit operator Fraction(int theInt )
{
    Console.WriteLine(" In implicitconversion to Fraction");
    return new Fraction(theInt );
}
public static explicit operator int(Fraction theFraction)
{
    Console.WriteLine("Inexplicit conversion to int");
    return theFraction.numerator / theFraction.denominator;
}

implicit operator Fraction(int theInt )explicit operator int(Fraction theFraction) là gì?

Cảm ơn mọi người

Trâm Anh viết 20:13 ngày 30/09/2018

ví dụ đoạn code thế này nè bạn:

Fraction fraction = 4;

Nếu bạn sử dụng hàm implicit thì fraction sẽ bằng 4, rất là bình thường ha. Nhưng nếu bạn xài hàm explicit thì chương trình sẽ báo lỗi, vì kiểu Fraction khác kiểu int .
Thay vào đó, bạn phải viết:

Fraction fraction = (Fraction) 4;

Sử dụng keyword explicit giúp chúng ta viết chương trình an toàn hơn, vì có khi ta xài chuyển kiểu khi nào mà cũng không biết luôn, mà chương trình vẫn chạy mà không báo lỗi .

Thất Học viết 20:07 ngày 30/09/2018

ý mình hỏi cái toán tử operator Fraction(int theInt ) và operator int(Fraction theFraction) là sao mình hok hiểu

Thất Học viết 20:07 ngày 30/09/2018

thui vay hhhhhhhhhh

Bài liên quan
0