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

回答編集履歴

1

追記

2018/09/08 04:56

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -9,4 +9,20 @@
9
9
  通常、メソッドはクラス定義により定まっています。新しいクラスを作成する時にしかメソッドを追加する事はできません。
10
10
  またインターフェースではメソッドを定義する事はできますが、実装する事はできません。
11
11
 
12
- 拡張メソッドは、既存のクラスやインターフェースにあたかもメソッドを新しく実装したかのように振る舞うことのできる文法です。
12
+ 拡張メソッドは、既存のクラスやインターフェースにあたかもメソッドを新しく実装したかのように振る舞うことのできる文法です。
13
+
14
+ ###追記
15
+
16
+ 質問に答えていませんでした。
17
+
18
+ 質問 1
19
+ foreach に当てはめると役割は同じですが、正確には仮引数です。
20
+ foreach はループ変数なので微妙に違います。
21
+
22
+ 質問 2
23
+ FirstOrDefault() の引数としてラムダ式を渡しています。
24
+ foreach に当てはめると役割は同じですが、条件に合う最初の要素を返すメソッドへの指示です。
25
+
26
+ 質問 3
27
+ この場合ではそうなります。
28
+ ループが中へ中へと続くのに対し、LINQ は後へ後へと続きます。