teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2021/06/17 05:00

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,17 +1,9 @@
1
- > Sample1のように、エントリーポイントの中で自身(Mainメソッド)を含むクラスのインスタンスを行ってよい理由がどうしてもしっくりと理解できません。
2
- 再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって、どうしても違和感が拭えません。
1
+ > 再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって、どうしても違和感が拭えません。
3
2
 
4
- > アプリケションが起動した際に自動的にMainメソッが自動的に呼ばれ
3
+ 今回の質問のコードでは別再帰び出しはしていませんが
5
- そこで、Main自身含むクラスをインスタンス化しているという構造違和感を覚えてしっておるのです・・・
4
+ `Main()`再帰呼び出も別問題ありせん。
5
+ なので違和感の前提がそもそも間違っています
6
6
 
7
- そもそも`Main()`は`static`メソッドなので、インスタンスとは無関係です。
8
-
9
- ---
10
-
11
- > 再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって
12
-
13
- 今回の質問とは余り関係なさそうですが、`Main()`を再帰呼び出ししても別に問題ありません。
14
-
15
7
  ```C#
16
8
  public class Hello{
17
9
  public static void Main(string[] args){

1

追記

2021/06/17 05:00

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -4,4 +4,24 @@
4
4
  > アプリケーションが起動した際に自動的にMainメソッドが自動的に呼ばれ、
5
5
  そこで、Main自身を含むクラスをインスタンス化しているという構造に違和感を覚えてしまっておるのです・・・
6
6
 
7
- そもそも`Main()`は`static`メソッドなので、インスタンスとは無関係です。
7
+ そもそも`Main()`は`static`メソッドなので、インスタンスとは無関係です。
8
+
9
+ ---
10
+
11
+ > 再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって
12
+
13
+ 今回の質問とは余り関係なさそうですが、`Main()`を再帰呼び出ししても別に問題ありません。
14
+
15
+ ```C#
16
+ public class Hello{
17
+ public static void Main(string[] args){
18
+ if(args.Length == 0){
19
+ System.Console.WriteLine("Hello C#");
20
+ Main(new string[]{"hoge"});
21
+ return;
22
+ }
23
+ System.Console.WriteLine("Hello C#!!!");
24
+ }
25
+ }
26
+
27
+ ```