もっと複雑な問題だと思っていろいろ見て回って頭ひねって考えて全然分からなくて、呼び出し元に戻ってきたら問題解決した。
foreach (var item in list) { item.Hoge().Done(() => { item.Piyo(); } ); }
上のコード(C#)は意図どおり動かない。
item.Hoge()
はlist
内の書く要素に対して呼ばれるけど、item.Piyo()
はlist
の最後の要素に対して呼ばれる。
for (var i = 0; i < 10; i++)
と比べたら分かりそうだけど、なんとなく LL のイテレーター感覚で回してたので、item
はループが呼ばれる毎に新しく生成されるものだと思い込んでた。
思い込みで2時間を浪費していたら勿体ない。
ところでC#がハイライトされないんですが csharp
じゃない…?