回答編集履歴
1
修正
test
CHANGED
@@ -6,3 +6,31 @@
|
|
6
6
|
「毎回定義するのが面倒だから、同じ名前のメンバー変数を定義して使いまわす」という考えであればなおさら駄目です(超有名なアンチパターンです)。
|
7
7
|
|
8
8
|
「複数の関数で呼び出す」なら「あり」かもしれませんが、「その変数を用意しないと実行できない」という依存関係が生まれてしまうので、よく考える必要があります。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
12
|
+
すみません、これ「メンバー変数を関数内で呼び出す」と勘違いしていました。
|
13
|
+
あまりにもコードが悪いので勘違いしました。
|
14
|
+
|
15
|
+
```C#
|
16
|
+
d = kansuu2(a);
|
17
|
+
```
|
18
|
+
|
19
|
+
と言う具合に、関数kansuu2に変数aを引数にするぐらいであれば、特に問題はありません。
|
20
|
+
しかし、
|
21
|
+
|
22
|
+
```C#
|
23
|
+
int a; // ①
|
24
|
+
|
25
|
+
private int kansuu2(int a) //②
|
26
|
+
{
|
27
|
+
c = a; // ③
|
28
|
+
return c;
|
29
|
+
}
|
30
|
+
```
|
31
|
+
|
32
|
+
この①と②は同じ名前ですが、別のものとして扱われます。
|
33
|
+
例えば③では、②が使われます。①ではありません。
|
34
|
+
|
35
|
+
このように、同じの名前でも別のものが存在することがあります。
|
36
|
+
蛇足にはなりますが「関数内でしか使わないのであれば、関数内で定義する」と言った理由は、これに対する問題を避けるためです。
|