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
Explain what is the difference between a class and an object?
What are the advantages of .net core?
Please explain what is the difference between constants and read-only variables?
Explain how to rename a table using sql queries?
Explain different types of html, web and server controls.
Differences between namespace, class, assembly?
Please explain what is reflection and what is it for?
How does linq work?
Explain why do we use the “using” statement?
How do you view the methods and members of a dll?
Explain about managed heap?
What is difference between system.string and system.stringbuilder classes?
How ccw (com callable wrapper) and rcw (runtime callable wrappers) works?
What does msil do?
What is the difference between override and overload in a method?