-----------------------------------------------------------

New Message on BDOTNET

-----------------------------------------------------------
From: Sijin
Message 2 in Discussion

 int i=123; //i is value type   object o=i; //o is reference type, so when you assign 
a value type to a reference type the frameowrk creates a boxed object on the heap with 
the same value, at this point there is the value i on stack and the reference type 
object o on the heap   i=456; // you are manipulating the value on the stack the 
object o on the heap does not get affected.   Console.WriteLine(o.ToString()); // 
Since o still has the value 123 that is what gets printed.     When the above code is 
executed it is printing as  123, When i change into like below     object i=new 
string(new char[]{'1'}); //i is reference type, i------->['1']   object o=i; //o is 
reference type, so basically a pointer to the actual object on the heap gets assigned 
to o. Now o and i refer to the same object. o ------->['1']<-------- i   i="456"; 
//Now you are assigning a new object to the reference i i -------->['456] 
o--------->['1']   Console.WriteLine(o.ToString()); //Since o still points to the old 
object it will print 1   Then also it is printing 1. When I assign a ref type it is 
going to assign the reference only. Then how this is showing the value as 1 it has to 
show as 456 only right.   One more question all objects are derived from System.object 
class so that all objects will have the ToString() method.  When declare a interger 
variable as int i=1234; Then When I write i.ToString(); Its converting into string 
>From where this ToString() method came from coz i is a value type.   System.Object is 
the base class of System.ValueType  

-----------------------------------------------------------

To stop getting this e-mail, or change how often it arrives, go to your E-mail 
Settings.
http://groups.msn.com/BDOTNET/_emailsettings.msnw

Need help? If you've forgotten your password, please go to Passport Member Services.
http://groups.msn.com/_passportredir.msnw?ppmprop=help

For other questions or feedback, go to our Contact Us page.
http://groups.msn.com/contact

If you do not want to receive future e-mail from this MSN group, or if you received 
this message by mistake, please click the "Remove" link below. On the pre-addressed 
e-mail message that opens, simply click "Send". Your e-mail address will be deleted 
from this group's mailing list.
mailto:[EMAIL PROTECTED]

Reply via email to