Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 2582|Odpowiedź: 1

[Źródło] .NET/C# sprytnie wybiera indeksy w foreach

[Skopiuj link]
Opublikowano 01.02.2024 20:26:18 | | | |
Wprowadzenie

Pętle for i foreach są jednymi z najbardziej przydatnych konstrukcji w narzędziach programistów C#.
Moim zdaniem iterowanie kolekcji jest wygodniejsze niż w większości przypadków.
Działa ze wszystkimi typami kolekcji, w tym tymi nieindeksowalnymi (takimi jak , i nie wymagają dostępu do bieżącego elementu przez indeks).
Ale czasem naprawdę potrzebny jest indeks aktualnego produktu; Miałem ten problem jakiś czas temu, gdy używałem foreach do przeglądania kolekcji podczas rozwoju. Zazwyczaj stosuje się to jeden z następujących wzorców:


Zawsze mnie to irytowało; Czy nie możemy uzyskać zarówno wartości, jak i indeksów?
Istnieje proste rozwiązanie z Linq i krotkami.

Rozwiązanie 1:

Po prostu napisz metodę rozszerzenia taką:

Proszę wprowadzić powyższy kod do następującej przestrzeni nazw:

Metoda wywoływania:

Uwaga: Za kolekcjąWithIndex();

Rozwiązanie 2:

Jeśli metoda przedłużania jest dla Ciebie uciążliwa, możesz też użyć Rozwiązania 2

To już zrobione, ma niewielki wpływ na wydajność, możesz obserwować użycie na żądanie!!





Poprzedni:Nginx wyłącza nieprawidłowe rozwiązania TLSv1.0 i TLSv1.1
Następny:Zapytania Oracle zwracają problemy z pełnymi limitami pola
 Ziemianin| Opublikowano 24.02.2024 17:00:44 |
.NET 9 par kolekcjiDodano metodę rozszerzenia indeksu, możesz uzyskać indeks bezpośrednio, patrz:Logowanie do linku jest widoczne.

publiczny statyczny System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (to źródło System.Collections.Generic.IEnumerable<TSource>);

Pobierz zapowiedź VS 2022 na:Logowanie do linku jest widoczne.

.NET 9.0 Podgląd Pobrania:Logowanie do linku jest widoczne.

Stwórz nową aplikację konsolową .NET 9 z następującym kodem:







Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com