Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 2582|Απάντηση: 1

[Πηγή] .NET/C# επιλέγει έξυπνα ευρετήρια στο foreach

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 1/2/2024 8:26:18 μ.μ. | | | |
Εισαγωγή

Οι βρόχοι for και foreach είναι μια από τις πιο χρήσιμες κατασκευές στην εργαλειοθήκη προγραμματιστών C#.
Κατά τη γνώμη μου, η επανάληψη μιας συλλογής είναι πιο βολική από ό,τι στις περισσότερες περιπτώσεις.
Λειτουργεί με όλους τους τύπους συλλογών, συμπεριλαμβανομένων των μη ευρετηριάσιμων (όπως , και δεν απαιτούν πρόσβαση στο τρέχον στοιχείο μέσω του ευρετηρίου).
Αλλά μερικές φορές, χρειάζεται πραγματικά ένα ευρετήριο του τρέχοντος στοιχείου. Αντιμετώπισα αυτό το πρόβλημα πριν από λίγο καιρό, όταν χρησιμοποίησα το foreach για να διασχίσω συλλογές υπό ανάπτυξη. Αυτό συνήθως χρησιμοποιεί ένα από τα ακόλουθα μοτίβα:


Πάντα με ενοχλούσε. Δεν μπορούμε να πάρουμε και τιμές και δείκτες;
Υπάρχει μια απλή λύση με Linq και πλειάδες.

Λύση 1:

Απλώς γράψτε μια μέθοδο επέκτασης όπως αυτή:

Εισαγάγετε τον παραπάνω κώδικα στον ακόλουθο χώρο ονομάτων:

Μέθοδος κλήσης:

Σημείωση: Πίσω από τη συλλογήΜεΕυρετήριο();

Λύση 2:

Εάν βρίσκετε τη μέθοδο επέκτασης δυσκίνητη, μπορείτε επίσης να χρησιμοποιήσετε τη Λύση 2

Έγινε, έχει λίγο αντίκτυπο στην απόδοση, μπορείτε να παρατηρήσετε τη χρήση κατά παραγγελία!!





Προηγούμενος:Το Nginx απενεργοποιεί τις μη έγκυρες λύσεις TLSv1.0 και TLSv1.1
Επόμενος:Ζητήματα με κεφαλαία πεδία επιστροφής ερωτημάτων Oracle
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 24/2/2024 5:00:44 μ.μ. |
Συλλογές .NET 9 ζευγώνΠροστέθηκε η μέθοδος επέκτασης ευρετηρίου, μπορείτε να λάβετε απευθείας το ευρετήριο, ανατρέξτε στο:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

δημόσιο στατικό System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (αυτό το System.Collections.Generic.IEnumerable<TSource> πηγή).

Κατεβάστε την προεπισκόπηση VS 2022 στη διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Λήψη προεπισκόπησης .NET 9.0:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Δημιουργήστε μια νέα εφαρμογή κονσόλας .NET 9 με τον ακόλουθο κώδικα:







Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com