C#でforeachを使用してループを行うと、シンプルな表記で集合内のデータを処理する事ができるので便利ですが、何番目の値を処理しているかのループカウンタが無いのが不便です。 このような場合は、以下のようにSelect()メソッドを使用すると処理中データのindexを取得できます。 static void Main(string[] args) { string nameArray = new string[] { "alice", "bob", "charlie", "dave" }; foreach ( var nameObj in nameArray.Select( (value, index) => new { value, index } ) ) { // nameObjのメンバであるindexよりループカウンタを取得可能 Console.WriteLine( "{0}人目: 名
![[C#]foreach文でループカウンタを取得する方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)