Explain the Difference between value and reference type.
Answer Posted / suhasini suresh
Reference types are stored on the run-time heap; they may
only be accessed through a reference to that storage. This
allows the garbage collector to track outstanding
references to a particular instance and free the instance
when no references remain. A variable of reference type
always contains a reference to a value of that type or a
null reference. A null reference refers to nothing; it is
invalid to do anything with a null reference except assign
it. Assignment to a variable of a reference type creates a
copy of the reference, not a copy of the value being
referenced.
Value types are stored directly on the stack, either within
an array or within another type. When the location
containing a value type instance is destroyed, the value
type instance is also destroyed. Value types are always
accessed directly; it is not possible to create a reference
to a value type. Prohibiting such a reference makes it
impossible to refer to a value class instance that has been
destroyed. A variable of a value type always contains a
value of that type. Unlike reference types, the value of a
value type cannot be a null reference, nor can it reference
an object of a more derived type. Assignment to a variable
of a value type creates a copy of the value being assigned.
| Is This Answer Correct ? | 10 Yes | 3 No |
Post New Answer View All Answers
What is meant by managed and unmanaged code?
What is func in .net 3.5?
What is the difference between a debug and release build?
What are Attributes in .NET?
Compare & contrast rich client (smart clients or windows-based) & browser-based web application
Explain .net framework overview?
Difference abstract class and interface in .net?
Who is using .net core?
Tell us what do the following acronyms in .net stand for: il, cil, msil, cli and jit?
Can a try block have nested try blocks?
What is finalize method in .net?
Explain what is immutability, what is it for and how is it codified?
What is smart navigation in .net?
How does linq work?
What is meant by localization?