use of operator overloading of implicit & explicit operators?
Answer / karthikeyant
Implicit:
By eliminating unnecessary casts, implicit conversions can
improve source code readability. However, because implicit
conversions can occur without the programmer's specifying
them, care must be taken to prevent unpleasant surprises.
In general, implicit conversion operators should never
throw exceptions and never lose information so that they
can be used safely without the programmer's awareness. If a
conversion operator cannot meet those criteria, it should
be marked explicit.
class MyType
{
public static implicit operator int(MyType m)
{
// code to convert from MyType to int
}
}
MyType x;
// implicitly call MyType's MyType-to-int conversion
operator
int i = x;
Explicit:
declares a user-defined type conversion operator that must
be invoked with a cast. For example, this operator converts
from a class called Fahrenheit to a class called Celsius:
// Must be defined inside a class called Farenheit:
public static explicit operator Celsius(Farenheit f)
{
return new Celsius((5.0f/9.0f)*(f.degrees-32));
}
Farenheit f = new Farenheit(100.0f);
Celsius c = (Celsius)f;
Is This Answer Correct ? | 3 Yes | 0 No |
Who is a accessibility modifier “protected internal†available to ?
Which .gang of four. Design pattern is shown below?
List the 5 different access modifiers in c#?
Does c# have its own class library?
How does insertion sort work?
How do you determine whether a string represents a numeric value?
Why is static constructor called first?
1)what is difference between char and varchar in sql server 2005 2) what is composite key and candidate key 3) what is temporary table and derived table 4) how to calculate difference between two dates
What is method overriding in c#
What is InterFace???
What is difference between value and reference types?
What is the default scope of a class in c#?