static void Main(string[] args) { PosicaoClass pos1 = new PosicaoClass(); pos1.X = 10; pos1.Y = 20; PosicaoStruct pos2 = new PosicaoStruct(); pos2.X = 30; pos2.Y = 40; PosicaoStruct pos3 = pos2;// value types - copia pos3.Y = 50; FormasPagto formaPagto = FormasPagto.Boleto; Role role = Role.Developer; Color color = Color.Red; Console.WriteLine(color); Console.WriteLine(role); Console.WriteLine(formaPagto); Console.WriteLine(pos1); Console.WriteLine(pos2.ToString()); Console.WriteLine(pos3.ToString()); Console.ReadLine(); }
private static void ChamarinstanciarPrintarStruct()//instancia uma struct atraves de valores primitivos, devolvendo os valores das variaveis atribuidos da struct { PosicaoStruct pos2 = new PosicaoStruct(); pos2.x = 30; pos2.y = 40; PosicaoStruct pos3 = pos2; //ambos value type, não é apontamento por ponteiro, logo é uma copia pos3.y = 50; //pos3 não afeta pos2, principal diferença entre struct e class (value e reference) Console.WriteLine(pos2.ToString()); }