Questo quiz è ispirato da un bellissimo post di Cyrus Najmabadi (C# IDE Team) - che solo a maggio ha postato nel suo blog per 73 volte! :-)
using System;
class C1
{
  public static void M(Weird w)
  {
    w.ToString();
    Console.WriteLine(w.ToString());
  }
}
class C2
{
  public static void M(Weird w)
  {
    NewMethod(w);
    Console.WriteLine(w.ToString());
  }
  private static void NewMethod(Weird w)
  {
    w.ToString();
  }
}
struct Weird
{
  private int _i;
  public Weird(int i)
  {
    _i = i;
  }
  public override string ToString()
  {
    _i++;
    return _i.ToString();
  }
}
class Foo
{
  static void Main()
  {
    Weird w = new Weird(0);
    C1.M(w);
    C2.M(w);
    Console.Read();
  }
}
Cosa viene visualizzato a console?