C#在foreach中巧取索引(index)
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
引子 for 和foreach 循環(huán)是 C# 開發(fā)人員工具箱中最有用的構(gòu)造之一。
它一直讓我惱火;難道我們不能同時得到值和索引嗎? 原來有個簡單的解決方案,用 Linq 和 元組。 解決方案1: 只需編寫這樣的擴展方法: public static IEnumerable<(T item, int index)> WithIndex<T>(this IEnumerable<T> source) { return source.Select((item, index) => (item, index)); } 以上代碼請引入以下命名空間: using System.Linq; 調(diào)用方法: foreach (var (item, index) in collection.WithIndex()) { DoSomething(item, index); } 注意:集合后面的WithIndex(); 解決方案2: 如果覺得擴展方法比較麻煩,也可以使用解決方案二 foreach (var (item, index) in list.Select((value, i) => (value, i))) { Console.WriteLine($"{index},{item}"); } 大功告成,對性能有一點影響,大家可以觀察按需使用!! 該文章在 2024/3/5 11:16:32 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |