前提・実現したいこと
現在C#の勉強を行っております。具体的には「独習C#」を読んでおるところです。
Sample1のように、エントリーポイントの中で自身(Mainメソッド)を含むクラスのインスタンスを行ってよい理由がどうしてもしっくりと理解できません。
再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって、どうしても違和感が拭えません。
たとえばSample2のように、もう一つクラス(Program)を作って、そちらでMainメソッドを持ち、インスタンス化するような書き方であれば、自分の中では納得できるのですが・・・
Sample1のように書いて良い理由と、そのメリット等が知りたいです。
該当のソースコード
Sample1
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace Sample1 8{ 9 class Sample1 10 { 11 public string data = "フィールド"; 12 13 public string show() 14 { 15 string data = "ローカル"; 16 return data; 17 } 18 static void Main(string[] args) 19 { 20 var s = new Sample1(); 21 Console.WriteLine(s.show()); 22 Console.WriteLine(s.data); 23 } 24 } 25}
Sample2
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace Sample2 8{ 9 class Sample2 10 { 11 public string data = "フィールド"; 12 13 public string show() 14 { 15 string data = "ローカル"; 16 return data; 17 } 18 } 19 class Program 20 { 21 static void Main(string[] args) 22 { 23 var s = new Sample2(); 24 Console.WriteLine(s.show()); 25 Console.WriteLine(s.data); 26 } 27 } 28 29}
210621追記
https://www.javadrive.jp/start/about/index4.html
にjavaの文脈ですが説明を見つけ、とりあえずスッキリしましたので、自分用のメモとして追記します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/17 08:33