回答編集履歴

4

補足の修正

2016/03/14 09:13

投稿

aridai1221
aridai1221

スコア45

test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
  他にも「this」の使われ方がありますが、それはいいでしょう。
120
120
 
121
- (拡張メソッドなどを書くときにも使いますが、今回は関係ないようなので...)
121
+ (拡張メソッドなどを書くときにも使いますが、意味が違いますし、今回は関係ないようなので...)
122
122
 
123
123
 
124
124
 

3

付け足しの付け足しをした

2016/03/14 09:13

投稿

aridai1221
aridai1221

スコア45

test CHANGED
@@ -118,4 +118,8 @@
118
118
 
119
119
  他にも「this」の使われ方がありますが、それはいいでしょう。
120
120
 
121
+ (拡張メソッドなどを書くときにも使いますが、今回は関係ないようなので...)
122
+
123
+
124
+
121
- とりあえず、「this」は「このクラスのインスタンスの~」という意味覚えておけばいいと思います。
125
+ とりあえず、**「this」は「このクラスのインスタンスの~」という意味になる** と覚えておけばいいと思います。

2

よりわかりやすくしたつもり

2016/03/14 09:11

投稿

aridai1221
aridai1221

スコア45

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  // MyClassのメンバ変数「x」に
50
50
 
51
- // コンストラクタの引数「x」の値を代入する
51
+ // コンストラクタの引数「x」の値を代入したいけど
52
52
 
53
53
  // x = x; のようには書けない
54
54
 
@@ -64,9 +64,11 @@
64
64
 
65
65
  // だけど、変数「mc」っていうのは
66
66
 
67
- // 当然ここからアクセス出来ない
67
+ // 当然ここ使えない
68
68
 
69
69
 
70
+
71
+ // 仮に、変数「mc」というのが使えたとしても
70
72
 
71
73
  // さらに、もう1個インスタンスを作ろうとしたときに
72
74
 
@@ -78,15 +80,19 @@
78
80
 
79
81
  // だから「MyClassのインスタンスのメンバ変数の「x」」というのを表したいけど
80
82
 
83
+ // 「何という変数に入っているか」もしくは「どの変数にも入っていないか」が分からないから
84
+
81
85
  // 「変数名.x」というように表せない
82
86
 
83
87
 
84
88
 
85
89
  // ではどうすればいいのかというと
86
90
 
87
- // C#「このクラスのインスタンスの~」というのを表すときに使われる予約語がある
91
+ // C#には「このクラスのインスタンスの~」というのを表すときに使われる予約語がある
88
92
 
89
93
  // それが「this」というキーワードということになる
94
+
95
+ // これを使えばいいのである
90
96
 
91
97
 
92
98
 
@@ -107,3 +113,9 @@
107
113
  }
108
114
 
109
115
  ```
116
+
117
+
118
+
119
+ 他にも「this」の使われ方がありますが、それはいいでしょう。
120
+
121
+ とりあえず、「this」は「このクラスのインスタンスの~」という意味で覚えておけばいいと思います。

1

付け足した

2016/03/14 09:08

投稿

aridai1221
aridai1221

スコア45

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  // 代入演算子の左辺は「MyClassのインスタンスのメンバ変数の「x」」ということだから
60
60
 
61
- // mc.x = x; みたいな感じになる
61
+ // 意味としては mc.x = x; みたいな感じになる
62
62
 
63
63
 
64
64
 
@@ -68,9 +68,39 @@
68
68
 
69
69
 
70
70
 
71
+ // さらに、もう1個インスタンスを作ろうとしたときに
72
+
73
+ // そのインスタンスは変数「mc」には入っていない
74
+
75
+ // もしかしたら、変数「mc2」というものに入っているかもしれないし、入っていないかもしれない
76
+
77
+
78
+
79
+ // だから「MyClassのインスタンスのメンバ変数の「x」」というのを表したいけど
80
+
81
+ // 「変数名.x」というように表せない
82
+
83
+
84
+
85
+ // ではどうすればいいのかというと
86
+
71
- // だから「このクラスのインスタンスの~」というのを表すときに使われる予約語がある
87
+ // C#「このクラスのインスタンスの~」というのを表すときに使われる予約語がある
72
88
 
73
89
  // それが「this」というキーワードということになる
90
+
91
+
92
+
93
+ // 変数「mc」や変数「mc2」などの中身 (=つまり、このクラスのインスタンスの参照) は
94
+
95
+ // 「this」というものの中に入っている (「this」が表している)
96
+
97
+
98
+
99
+ // つまり、this.x = x; と書けば
100
+
101
+ // 「MyClassのインスタンスのメンバ変数の「x」にコンストラクタの引数「x」の値を代入する」
102
+
103
+ // という意味になる
74
104
 
75
105
  }
76
106