回答編集履歴
2
修正
answer
CHANGED
@@ -1,17 +1,9 @@
|
|
1
|
-
> Sample1のように、エントリーポイントの中で自身(Mainメソッド)を含むクラスのインスタンスを行ってよい理由がどうしてもしっくりと理解できません。
|
2
|
-
再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって、どうしても違和感が拭えません。
|
1
|
+
> 再帰的に自分(Mainメソッド)を呼び出せるように見えてしまって、どうしても違和感が拭えません。
|
3
2
|
|
4
|
-
|
3
|
+
今回の質問のコードでは別に再帰呼び出しはしていませんが、
|
5
|
-
|
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
追記
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
|
+
```
|