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