Mega Code Archive

 
Categories / C# Tutorial / Struct
 

Struct with value types and ref types

using System; class MyClass {   public string x;   public MyClass(string s)  {       x = s;   } } struct MyStruct {   public MyClass refType;   // Ref type.   public int valueType;     // Val type   public MyStruct(string s)   {     refType = new MyClass(s);     valueType = 9;   } } class MainClass {   public static void Main(string[] args)   {     MyStruct valWithRef = new MyStruct("Initial value");     valWithRef.valueType = 6;     MyStruct valWithRef2;     valWithRef2 = valWithRef;     valWithRef2.refType.x = "I am NEW!";     valWithRef2.valueType = 7;     Console.WriteLine("Values after change:");     Console.WriteLine("valWithRef.refType.x is {0}", valWithRef.refType.x);     Console.WriteLine("valWithRef2.refType.x is {0}", valWithRef2.refType.x);     Console.WriteLine("valWithRef.valueType is {0}", valWithRef.valueType);     Console.WriteLine("valWithRef2.valueType is {0}", valWithRef2.valueType);   } } Values after change: valWithRef.refType.x is I am NEW! valWithRef2.refType.x is I am NEW! valWithRef.valueType is 6 valWithRef2.valueType is 7