比較的初心者として、私は特定の主題についてできるだけ多くのことを読み、できるだけ多くのコードをテスト/作成しようとしています。私はJonsBrainteasersの1つ(質問#2)を見ていましたが、私の出力は答えとは異なりました。これにより、最近のバージョンで何かが変更されたかどうかを確認し、他の人がこのコードからどのような出力を取得しているかを確認することができます。
問題は、「何が表示されるのか、なぜ、そしてどの程度自信があるのか」です。
using System;
class Foo
{
static Foo()
{
Console.WriteLine ("Foo");
}
}
class Bar
{
static int i = Init();
static int Init()
{
Console.WriteLine("Bar");
return 0;
}
}
class Test
{
static void Main()
{
Foo f = new Foo();
Bar b = new Bar();
}
}
どちらかといえば、2つの異なる答えが得られる原因は何でしょうか。