ちなみに

火曜日の空は僕を押しつぶした。

2時間

もっと複雑な問題だと思っていろいろ見て回って頭ひねって考えて全然分からなくて、呼び出し元に戻ってきたら問題解決した。

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 じゃない…?