次のコンストラクタの初期化の違いを教えてください..
ここで Person はクラスです.その中で、いくつかの値を初期化しようとしています...そして、名前の付いた3つのプロパティを作成しました
「名前、年齢、CanCode」
そして、これの1つを呼び出します..
//Without Static
public Class Person
{
Person[] people = {
new Person { Name="Allen Frances", Age=11, CanCode=false },
new Person { Name="Burke Madison", Age=50, CanCode=true }
}
// with Static...
/*
static Person[] people =
{
new Person { Name="Allen Frances", Age=11, CanCode=false },
new Person { Name="Burke Madison", Age=50, CanCode=true }
}
*/
...........
}
キーワードなしでクラス コンストラクターを初期化しようとすると、static
「Stack overFlow Exception.」が表示されます。
コードをデバッグすると、ここで Person クラスのオブジェクトを作成した後、初期化に時間がかかりますが、理由がわかりません。
私が知っているのは、static
これらのキーワードを使用すると、オブジェクトの作成前にコンストラクターデータを初期化することです...しかし、ここでは、オブジェクトの作成後にデータを初期化しようとすると、この動作が示されます..
理由を教えてください...