Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is the Difference between value and reference type?

Answer Posted / himani

In simple words, all value based types are allocated on the
stack, while all reference based types are allocated on the
heap. What does this mean? A value type contains the actual
value. A reference type contains a reference to the value.
When a value type is assigned to another value type, it is
copied. When a reference type is assigned to another
reference type, a reference is assigned to the value.

By saying stack, we mean things are kept one on top of the
other. We keep track of each value at the top. By saying
heap, we mean things are kept in a mashed order. We keep
track of each value by its address, that is referenced by a
pointer to it.

All value types are implicitly derived from
System.ValueType. This class actually overrides the
implementation in System.Object, the base class for all
objects which is a reference type itself.

Data types
like integers, floating point numbers, character data,
Boolean values
, Enumerations and Structures are examples of Value Types.
Classes, Strings, Arrays are examples of Reference Types.

A value type may not contain NULL values. Reference types
may contain NULL values.

It is not possible to derive new types from Value Types.
This is possible in Reference types. However, Value Types
like Structures can implement interfaces.

Is This Answer Correct ?    2 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

what is difference between is and as operators in c#?

1031


How do I start a program in c#?

1041


Is string primitive?

915


What does using system mean in c#?

1064


Is c# pass by reference?

938


Distinguish between a class and struct?

975


What is the purpose of a console table?

989


Differentiate between method overriding from method overloading with its functionality?

1072


How can we make a thread sleep for infinite period ?

1037


What does == mean in c sharp?

1087


Do loops in c#?

939


Can you store different types in an array in c#?

993


What is a satellite assembly in c#?

1041


What is difference between for and foreach in c#?

1046


How long does it take to learn c# for unity?

957