var names = new List<string>{"Taro", "Jiro", "Saburo", "Shiro", "Goro", "Rokuro"}; var result = new List<string> (); for(int i = 0; i < names.Length; i++) { result.Add (string.Format("index{0} {1}", i, names[i])); } for文やListのインデクサーを用いていますね。これをLINQで書き換えてスッキリさせてみせましょう。抽出はWhereというメソッド、射影はSelctというメソッドを使えばいいですね。 ですが上のコードでは、抽出にも射影にもインデックスを用いてます。for文で定義し、ループの度にインクリメントされるインデックスiは使えるのでしょうか。 ちょっと前に、LINQ、その
![【C#,LINQ】インデックス付きで射影(Select)と抽出(Where)【iが欲しい!?】他の言語もちょっと。 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/a54064cb9e148492a02772f0818f0b8676c94870/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwQyUyMyUyQ0xJTlElRTMlODAlOTElRTMlODIlQTQlRTMlODMlQjMlRTMlODMlODclRTMlODMlODMlRTMlODIlQUYlRTMlODIlQjklRTQlQkIlOTglRTMlODElOEQlRTMlODElQTclRTUlQjAlODQlRTUlQkQlQjElMjhTZWxlY3QlMjklRTMlODElQTglRTYlOEElQkQlRTUlODclQkElMjhXaGVyZSUyOSVFMyU4MCU5MGklRTMlODElOEMlRTYlQUMlQjIlRTMlODElOTclRTMlODElODQlMjElM0YlRTMlODAlOTElRTQlQkIlOTYlRTMlODElQUUlRTglQTglODAlRTglQUElOUUlRTMlODIlODIlRTMlODElQTElRTMlODIlODclRTMlODElQTMlRTMlODElQTglRTMlODAlODImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWE1ZDU5ZWQzN2UxNjRlNGU3YTBiYmE0NDE4MDhlMTdh%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwUnlvdGFNdXJvaG9zaGkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE1ZTczZWQ4MzQ1YzM3MGE5ZjAxYzMzODRkZTZiYjBk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D950f585aec65484c5768f35dc223318b)