Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 2582|Відповідь: 1

[Джерело] .NET/C# хитро підбирає індекси для кожного

[Копіювати посилання]
Опубліковано 01.02.2024 20:26:18 | | | |
Введення

Цикли for і foreach — одні з найкорисніших конструкцій у наборі інструментів розробника C#.
На мою думку, повторювати колекцію зручніше, ніж у більшості випадків.
Він працює з усіма типами колекцій, включаючи неіндексовані (наприклад, , і не потребують доступу до поточного елемента через індекс).
Але іноді індекс поточного елемента справді потрібен; Я зіткнувся з цією проблемою деякий час тому, коли використовував Foreach для перегляду колекцій у розробці. Зазвичай використовується один із наступних шаблонів:


Це завжди мене дратувало; Хіба ми не можемо отримати і значення, і індекси?
Існує просте рішення з Linq і кортежами.

Рішення 1:

Просто напишіть метод розширення ось так:

Будь ласка, введіть вищезазначений код у наступний простір назв:

Метод виклику:

Примітка: За колекцієюWithIndex();

Рішення 2:

Якщо метод розширення здається вам незручним, ви також можете скористатися Solution 2

Це зроблено, це трохи впливає на продуктивність, ви можете спостерігати за використанням на вимогу!!





Попередній:Nginx вимикає недійсні рішення TLSv1.0 та TLSv1.1
Наступний:Питання запитів Oracle повернення поля з повними капітелями
 Орендодавець| Опубліковано 24.02.2024 17:00:44 |
Колекції з 9 пар .NETДодано метод розширення Index, ви можете отримати індекс напряму, див. це:Вхід за гіперпосиланням видно.

публічний статичний System.Collections.Generric.IEnumerable<(int Index, TSource Item)> Index<TSource> (це джерело System.Collections.Genereric.IEnumerable<TSource>);

Завантажте попередній перегляд VS 2022 за адресою:Вхід за гіперпосиланням видно.

Попередній перегляд .NET 9.0 Завантаження:Вхід за гіперпосиланням видно.

Створіть новий консольний додаток .NET 9 з таким кодом:







Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com