En el siguiente ejercicio mostraremos en pantalla si los objetos son tipo valor o referencia.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace Identificando_value_reference

{

class Program

{

static void Main(string[] args)

{

//tipo valor

byte a = 0;

sbyte b = 0;

int c = 0;

uint d = 0;

long e = 0;

ulong f = 0;

short g = 0;

float h = 0.5f;

double i = 0.34;

decimal j = 12.345M;

char k = ‘b’;

bool l = true;

DateTime dt = new DateTime();

//tipo referencia

string m = “”;

StringBuilder sb = new StringBuilder();

int[] array = new int[4];

object[] ob = new object[4];

Exception ex = new Exception();

//Creando un arreglo de tipo object

object[] objetos = { a, b, c, d, e, f, g, h, i, j, k, l, m, dt, sb, array, ob, ex };

//Creando un aiteracion con un foreach

foreach (object obj in objetos)

{

string tipo;

if (obj.GetType().IsValueType)

{

tipo = “Tipo Valor”;

}

else

{

tipo = “Tipo Referencia”;

}

Console.WriteLine(“{0} : {1}”, obj.GetType(), tipo);

}

Console.ReadLine();

}

}

}

Type Valor_Value