use of operator overloading of implicit & explicit operators?
Answer Posted / 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 |
Post New Answer View All Answers
What is attribute and reflection in c#?
Can you change the value of a constant filed after its declaration?
What is dbml file in c#?
What is collection of classes in c#?
What is stringreader in c#?
Explain about c# language.
How do namespaces work?
What are the advantages of using c#?
What is string programming language?
List some Advantages of switch-case over if else?
Asha buys 16 Chocolates for rs 12 and 24 chocolates for rs 20, if she sold them 30 chocolates for rs 30 then what is the Gain/Loss percentage? Gain(700/19 %) Loss(700/19 %) Gain(500/19 %) Loss(500/19 %) If one person ate 100 grapes in 5 days and 6 more each day from starting, what was the no of grapes he ate on first day? 6 8 10 7 If seven men P, Q, R, S, T, U, V parked his car, P and Q something like that. 6 student J, K, L, M, N, O went for picnic in 2 batches, K and L have to go together, M and O do't go together, if O and L go in one batch then which of these combination will be wrong. Jmnp Jklo klop JKLO a boat can go upstream and down stream, if it goes 5/2 times of downstream at the speed of 6 kmph then what will be the speed of upstream? 15 KMPH 12 KMPH 10 KMPH 11 KMPH A, B, C, D, E sitting on a table, A sits 2 seat left from B and C sits 2 seat right from B then what will not be the combination ACDE
Is list passed by reference c#?
Define method overloading in c#?
How do I enforce const correctness in c#?
Why do we use Design Pattern in C#?