Las 4 de Plain Concepts

Por distintas consideraciones en el Stand de Plain Concepts del Tech Days 2008 no pudimos hacer un concurso que teníamos pensado pero ahora aprovechamos para ponerlas en Geeks.


Por supuesto sin compilar:


1º Pregunta:


¿Cuál es el resultado del siguiente fragmento de código?


class Program


{


public const string APP_ID = new string(‘a’,2);


static void Main(string[] args)


{


int total = default(Int32);


int result = (from i in Enumerable.Range(1, 10)


where (i & 1) == 1


select i


).Sum();


Console.WriteLine(«El resultado es {0}»,result);


}


}


Respuestas:


    



  1. 20

  2. 25

  3. Este código no compila

2º Pregunta:


¿Cuál es el resultado del siguiente fragmento de código?


class Program


{


static void Main(string[] args)


{


List<int> set = new List<int>();


for(int i = 0; i<10; i++)


set.Add(i);


DoSomething(set);


Console.ReadLine();


}


public static void DoSomething<T>(IList<T> set)


{


Console.WriteLine(«DoSomething<T>(IList<T> set)»);


}


public static void DoSomething<T>(params T[] items)


{


Console.WriteLine(«DoSomething<T>(params T[] items)»);


}


public static void DoSomething<T>(T item1, params T[] items)


{


Console.WriteLine(«DoSomething<T>(T item1,params T[] items)»);


}


public static void DoSomething<T>(T item1, T item2)


{


Console.WriteLine(«DoSomething<T>(T item1, T item2)»);


}


}


Respuestas:


    



  1. DoSomething<T>(IList<T> set)

  2. DoSomething<T>(params T[] items)

  3. DoSomething<T>(T item1,params T[] items)

  4. DoSomething<T>(T item1, T item2)

3º Pregunta:


¿Cuál es el resultado del siguiente fragmento de código?


class Program


{


class Customer


{


public string Name { get; set; }


}


static void Main(string[] args)


{


Customer initCustomer = new Customer();


Customer otherCustomer = SetCustomer(ref initCustomer);


Console.WriteLine(Object.ReferenceEquals(initCustomer, otherCustomer));


Console.WriteLine(Object.ReferenceEquals(initCustomer, SetCustomer(ref initCustomer)));


Console.Read();


}


static Customer SetCustomer(ref Customer c)


{


c = new Customer();


return c;


}


}


Respuestas:


    



  1. True True

  2. False False

  3. True False

  4. False True

4º Pregunta:


¿Cuál es el resultado del siguiente fragmento de código?


class Program


{


static void Main(string[] args)


{


string cadenaUno = «Plain Concepts S.L»;


string cadenaDos = «Plain Concepts S.L»;


Console.WriteLine(Object.ReferenceEquals(cadenaUno,«Plain Concepts S.L»));


Console.WriteLine(Object.ReferenceEquals(cadenaUno, cadenaDos));


Console.ReadLine();


}


}


Respuestas:


    



  1. True True

  2. False False

  3. True False

  4. False True

[EDITADO]


P.D: Por cierto desde aquí las gracias a Octavio y Yamil que colaboraron activamente en el «pensamiento» 🙂 de las preguntas