[C#]foreachで今のループが何回目なのか知りたい

foreach処理でループのカウント数が知りたい。

ループ処理で今何回めのループなのかを知りたい時ってありますよね。

ループの外でカウント用の変数を宣言して、ループするたびにカウントアップすればいいんだけど、もっとスマートにやりたい。

具体的にはカウント用に一時変数なんて使わずに、ループのindexを取得したいわけです。

LINQのSelect拡張メソッド

C# 7.0 以降だと「値タプル」という機能でもっとスマートに書けるみたいです。