[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild2 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild2 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
969: 名前は開発中のものです。 [sage] 2020/01/10(金) 15:40:25.16 ID:5Sf2RA1L >>968 いやもし5段階に組まれてたら下から見るとMoveNext5回呼ばれる事でやっと元のコレクションなりにたどり着くやん あれインタフェースになってて1番下でのMoveNextでもとのに辿り着くっけ? http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/969
970: 名前は開発中のものです。 [sage] 2020/01/10(金) 18:42:11.72 ID:6FaPVqIC >>969 例えばこんなLINQがあるとするだろ var seq = list.Where(A).Where(B).Where(C); foreach(var n in seq) Console.WriteLine(n); 内部的にはこの処理と同じ var tmp = list.GetEnumerator(); while(tmp.MoveNext()){ var n = tmp.Current; if(!A(n)) continue; if(!B(n)) continue; if(!C(n)) continue; Console.WriteLine(n); } 取り出した要素をチェーンに繋いである関数に順番に渡してるだけ 要素一つにMoveNextを何回も呼んでるわけじゃない http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/970
988: 名前は開発中のものです。 [sage] 2020/01/11(土) 03:42:34.65 ID:eNMw2FnY とりあえず>>969と>>976から読み取ると、LINQで繋がれたメソッドは全部独立したIEnumerableを返してるような誤解をしてるんだと思う 実際は宣言時にチェーンの最後にあるメソッドが一つのIEnumerableを返すだけだし、間にある他のメソッドは最後のメソッドがデリゲートとして一括で実行する だからMoveNextは一つの要素に一回ずつしか基本的に呼ばれず、従ってループも一回だけ これで納得出来ないならもう5個チェーン繋げたら5回ループされてると思っても良いよ、別にそれでも実害は一切無い http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/988
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.606s*