Πίνακας περιεχομένων:
Βίντεο: How Get Product Key For Windows 10 Home/Pro FOR FREE 2024
Από τον John Paul Mueller
Γλώσσα Ενσωματωμένο Query (LINQ) είναι ένα χαρακτηριστικό του. NET Framework που επεκτείνει την κατανόησή σας πέρα από τα πράγματα της Microsoft. Μπορείτε να χρησιμοποιήσετε το LINQ για να αναζητήσετε σχεδόν οτιδήποτε, γνωρίζοντας βασικούς χειριστές μαζί με μερικούς πρόσθετους χειριστές επερωτήσεων. Εάν χάσετε λίγο από το δρόμο, η Microsoft προσφέρει έναν πλούτο πόρων μέσα από το δίκτυο, τα blogs και τα φόρουμ.
Βασικοί χειριστές LINQ
Η Ενσωματωμένη Ερώτηση γλώσσας (LINQ) χρησιμοποιεί μια καταπληκτική σειρά χειριστών. Ένας χειριστής είναι μια ειδική λέξη που λέει στο LINQ τι είδους ερώτημα πρέπει να εκτελέσει, όπως ο έλεγχος του εάν δύο τιμές είναι ίσες. Οι χειριστές μπορούν να τρέξουν σε εκατοντάδες, αλλά στις περισσότερες περιπτώσεις θα εκτελέσετε τις περισσότερες εργασίες χρησιμοποιώντας μόνο μερικούς τυπικούς χειριστές. Παρακάτω είναι ένας κατάλογος βασικών φορέων LINQ.
Operator | Περιγραφή |
---|---|
από | Ορίζει το προσωρινό αντικείμενο που χρησιμοποιείται για την εκτέλεση ενός ερωτήματος. Σκεφτείτε
αυτόν τον τελεστή ως ορισμό του αντικειμένου μεμονωμένου στοιχείου από το οποίο παράγετε όλα τα άλλα δεδομένα για το ερώτημα. Για παράδειγμα, επιλέγετε ποια δεδομένα θα εμφανίζονται στην έξοδο και πώς αυτά τα δεδομένα παραγγέλλονται με βάση την προσωρινή μεταβλητή. Ο χειριστής είναι ο μόνος που πρέπει να εμφανίζεται σε κάθε ερώτημα που δημιουργείτε . |
σε | Ορίζει την πηγή δεδομένων που χρησιμοποιείται για τη λήψη των δεδομένων. Μια πηγή δεδομένων
μπορεί να είναι οποιοδήποτε αντικείμενο υποστηρίζεται από έναν παροχέα δεδομένων. Ο παροχέας δημιουργεί μια σύνδεση μεταξύ της πηγής δεδομένων και του ερωτήματος LINQ. Για παράδειγμα, μια πηγή δεδομένων μπορεί να περιλαμβάνει ένα αντικείμενο όπως ένα πλαίσιο , ένα αρχείο XML, έναν πίνακα SQL Server, υπηρεσία Active Directory, μια υπηρεσία Web ή σχεδόν οτιδήποτε άλλο θέλετε να χρησιμοποιήσετε για τη συλλογή πληροφοριών . Είναι ακόμη δυνατό να εργαστείτε απευθείας με αρχεία στον σκληρό σας δίσκο χρησιμοποιώντας ένα ερώτημα LINQ. Ένα ερώτημα μπορεί να περιέχει όσα ζευγάρια αντιστοιχούν από και σε χειριστές, όπως απαιτείται για να περιγράψουν πλήρως τις πηγές δεδομένων που χρησιμοποιούνται στο ερώτημα. |
επιλέξτε | Επιλέγει τις πληροφορίες εξόδου για το ερώτημα. Η πιο απλή έξοδος
είναι το ίδιο αντικείμενο που ορίζετε χρησιμοποιώντας τον χειριστή από. Ωστόσο, ένας χειριστής επιλογής μπορεί να περιλαμβάνει υπολογισμένες τιμές, πίνακες δεδομένων ή ιδιότητες μεμονωμένων αντικειμένων. Ο περιοριστικός παράγοντας στις περισσότερες περιπτώσεις είναι η λειτουργικότητα που προσφέρεται από τον παροχέα LINQ . Και οι τέσσερις από τους προεπιλεγμένους παροχείς περιλαμβάνουν την πλήρη σειρά επιλεγμένων συμπεριφορών χειριστή. Ένα ερώτημα περιέχει μόνο έναν φορέα επιλογής και αυτός ο φορέας εκμετάλλευσης πρέπει να εμφανιστεί ως ο τελευταίος τελεστής στο ερώτημα . |
όπου | Περιγράφει τις συνθήκες υπό τις οποίες ένα στοιχείο εμφανίζεται ως μέρος
της εξόδου.Ο χειριστής όπου πάντα απαιτεί ένα επιχείρημα Boolean για τον καθορισμό των συνθηκών εξόδου. Μπορείτε μπορείτε να συμπεριλάβετε όσα χρειάζονται για να περιγράψουν πλήρως τα κριτήρια παραγωγής. Το LINQ ερμηνεύει το όπου οι χειριστές με τη σειρά που εμφανίζονται στο ερώτημα , έτσι ώστε η σειρά είναι σημαντική. Όταν ένα ερώτημα δεν λειτουργεί όπως αναμενόταν, δοκιμάστε να αλλάξετε τη σειρά των εντολών όπου οι χειριστές περιγράφουν καλύτερα τις απαιτήσεις εξόδου . Χρησιμοποιήστε το εργαλείο εντοπισμού σφαλμάτων για να εντοπίσετε σφάλματα στη λογική ροή των χρηστών. orderby |
Ορίζει τη σειρά με την οποία εμφανίζονται τα στοιχεία εξόδου. Ο χειριστής | απλού χειριστή βασίζεται στο αντικείμενο
που ορίζετε χρησιμοποιώντας τον χειριστή . Ωστόσο, ένας χειριστής παραγγελίας μπορεί να αποδεχθεί οποιαδήποτε δήλωση που ορίζει ένα όρισμα λογικής παραγγελίας ως είσοδο - κανονικά αριθμητικό, αλφαβητικό, συμβολικό ή δυαδικό. Μπορείτε να χρησιμοποιήσετε όσους χειριστές orderby θέλετε για να περιγράψετε πλήρως την σειρά εξόδου των δεδομένων. Όπως και με το όπου ο χειριστής, το LINQ ερμηνεύει τον χειριστή παραγγελίας με τη σειρά με την οποία εμφανίζεται στο ερώτημα . Ως εκ τούτου, η σειρά των φορέων διαταγής είναι σημαντική. σύνδεση και σύνδεση |
Συνδυάζει δύο ή περισσότερες πηγές δεδομένων για να δημιουργήσει σύνθετη προβολή | των δεδομένων. Οι πηγές δεδομένων δεν χρειάζεται να βασίζονται στους ίδιους παρόχους. Εσείς
μπορείτε να χρησιμοποιήσετε όσους περισσότερους χρήστες συνδέονται με το που απαιτούνται για να περιγράψετε πλήρως όλες τις πηγές δεδομένων που χρησιμοποιούνται για ένα ερώτημα . Ο φορέας εκμετάλλευσης ορίζει το κριτήριο που χρησιμοποιείται για να συνδυάσει δύο πηγές δεδομένων. Συνδέστε το σύνδεσμο και τους χειριστές για να δημιουργήσετε μια πλήρη πηγή δεδομένων. let |
Δημιουργεί μια υπολογισμένη τιμή για χρήση μέσα στο ερώτημα. Οι υπολογισμένες τιμές | καθιστούν πολύπλοκα ερωτήματα ευκολότερο να διατυπώσουν. Επιπλέον, μπορείτε
να μεταβιβάσετε μια υπολογιζόμενη τιμή στον καλούντα για να παράσχετε πρόσθετες πληροφορίες εξόδου . Σε πολλές περιπτώσεις, ο χειριστής εκτόξευσης παρέχει τα μέσα για τη διαβίβαση δεδομένων που δεν θα περάσει κανονικά η LINQ λόγω διένεξης ονομασίας. Εσείς μπορείτε να χρησιμοποιήσετε όσο το δυνατόν περισσότερους χειριστές για να παρέχετε πλήρη λειτουργικότητα επερωτήσεων, αλλά θα πρέπει να περιορίσετε τη χρήση του let σε καταστάσεις όπου μια υπολογιζόμενη τιμή βελτιώνει την ταχύτητα ερώτησης.
|
Η χρήση των τυποποιημένων ερωτηματολογίων κάνει πολύ πιο εύκολη την εργασία με το Language Inintegrated Query (LINQ). Με πολλούς τρόπους, πιθανότατα έχετε ήδη εργαστεί με απλούς χειριστές ερωτήσεων. Για παράδειγμα, όταν χρησιμοποιείτε τη λέξη-κλειδί orderby, χρησιμοποιείτε έναν χειριστή ερωτήματος στην ομάδα διαλογής των τυποποιημένων χειριστών ερωτήματος. Όταν χρησιμοποιείτε τη λέξη-κλειδί όπου χρησιμοποιείτε μια άλλη λέξη-κλειδί, χρησιμοποιείτε έναν άλλο χειριστή ερωτήματος, αλλά αυτή τη φορά βρίσκεται στην ομάδα φιλτραρίσματος.
Ομάδα
Περιγραφή ομάδας | Συμπεριλαμβανόμενοι χειριστές | Πρόσθετες πληροφορίες | Πράξεις συγκεντρωτικής |
---|---|---|---|
Συγκεντρωτικός, Μέσος, Μέγιστος, Μακροπρόθεσμος, Μέγιστος, Ελάχιστος και Σύνολος
Microsoft |
Δίκτυο Προγραμματιστών: Συναθροιστικές Λειτουργίες | Δραστηριότητες Concatenation
Ο μοναδικός χειριστής συγκλίσεων σάς επιτρέπει να συνδυάσετε δύο ακολουθίες |
|
. | Concat
Microsoft |
Δίκτυο προγραμματιστών: Λειτουργίες συναρμολόγησης | Μετατροπή τύπων δεδομένων
Η μετατροπή τύπων δεδομένων έρχεται σε δύο μορφές: αναβληθείσα και |
Οι χειριστές μεταβλητής μετατροπής μετατρέπουν τα αποτελέσματα | ενός ερωτήματος σε ένα συγκεκριμένο τύπο, καθώς ο κώδικας ερμηνεύει το αποτέλεσμα
που έχει οριστεί. Οι χειριστές μη μεταβιβαζόμενων μετατροπών αλλάζουν την έξοδο ενός ερωτήματος σε έναν συγκεκριμένο τύπο. AsEnumerable, AsQueryable, Cast, OfType, ToArray, ToDictionary, ToList, |
και ToLookup
Microsoft Δίκτυο προγραμματιστών: Μετατροπή τύπων δεδομένων |
επιλέγετε ένα συγκεκριμένο στοιχείο σε μια ακολουθία , ακόμη και όταν δεν γνωρίζετε πληροφορίες ταυτοποίησης |
σχετικά με το συγκεκριμένο στοιχείο, όπως το όνομά του. | ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last,
LastOrDefault, Single και SingleOrDefault Microsoft |
Δίκτυο προγραμματιστών: Λειτουργίες στοιχείου
δύο αλληλουχίες |
είναι ίσες (ο αριθμός των στοιχείων και το περιεχόμενο κάθε στοιχείου
είναι ίσοι). |
SequenceEqual | Microsoft
Δίκτυο προγραμματιστών: Λειτουργίες ισότητας Φιλτράρισμα δεδομένων |
Οι χειριστές φιλτραρίσματος σας βοηθούν να εξαιρέσετε ή να συμπεριλάβετε στοιχεία σε |
OfType και Where |
Microsoft | Δίκτυο προγραμματιστών: Φιλτράρισμα δεδομένων
Λειτουργίες δημιουργίας |
Οι φορείς δημιουργίας δημιουργούν μια νέα ακολουθία βάσει των κριτηρίων | που καθορίζετε.
DefaultIfEmpty, Empty, Range και |
Επανάληψη | Microsoft
Δίκτυο προγραμματιστών: Λειτουργίες δημιουργίας |
Ομαδοποίηση δεδομένων
ως το πρώτο γράμμα σε μια ομάδα |
χορδών.
Ομαδοποίηση και αποθήκευση |
Microsoft | Δίκτυο προγραμματιστών: Ομαδοποίηση δεδομένων
Λειτουργίες εγγραφής πληκτρολογήστε και |
τα κριτήρια συμμετοχής. | Συμμετοχή και GroupJoin
Microsoft |
Δίκτυο προγραμματιστών: Συμμετοχή σε λειτουργίες | Δεδομένα διαμέρισης
Οι διαμεριστές σας βοηθούν να ανακαλύψετε συγκεκριμένες πληροφορίες. Παράκαμψη, SkipWhile, Take και |
TakeWhile | Microsoft
Δίκτυο προγραμματιστών: Δεδομένα διαμέρισης |
Operations προβολής | .
Επιλέξτε και επιλέξτε Μεγάλο |
Microsoft
Δίκτυο προγραμματιστών: Λειτουργίες προβολής |
Λειτουργίες ποσοτικοποιητή
Οι χειριστές ποσοτικοποιητών σας βοηθούν να επιλέξετε στοιχεία βάσει ειδικών κριτηρίων |
. Χρησιμοποιείτε αυτούς τους χειριστές για να καθορίσετε αν | κανένα, ένα ή περισσότερα στοιχεία δεν πληρούν τα επιλεγμένα κριτήρια
. |
Όλοι, Οποιοσδήποτε | και Περιέχει
Microsoft |
Δίκτυο προγραμματιστών: Λειτουργίες υπολογισμού ποσοστών | Ορισμός λειτουργιών
Σκεφτείτε την αριθμητική σειρά που εκτελείτε στο σχολείο. Διακριτές, Εκτός, Διασταυρωμένες, |
και Ένωση
Microsoft |
Δίκτυο προγραμματιστών: Ορισμός λειτουργιών
Ταξινόμηση δεδομένων |
Οι χειριστές ταξινόμησης σας βοηθούν να τοποθετήσετε μια ακολουθία σε μια συγκεκριμένη σειρά | .
OrderBy, OrderByDescending, ThenBy, ThenByDescending και Reverse |
Microsoft
Δίκτυο προγραμματιστών: Ταξινόμηση δεδομένων |
Πόροι Microsoft LINQ
κατά τη δημιουργία των εφαρμογών γλώσσας ΕΝΤΑΞΗ ΕΡΩΤΗΣΕΩΝ (LINQ). Ακολουθεί μια λίστα με χρήσιμους πόρους της Microsoft για LINQ. |
Microsoft Developer Network | Το Microsoft Developer Network (MSDN) παρέχει πάντα το βασικό υλικό για όλα τα αναπτυξιακά προϊόντα της Microsoft. Θα βρείτε μια ολόκληρη αποθήκη πληροφοριών εκεί - περισσότερο από ό, τι ένας άνθρωπος μπορεί πιθανότατα να διαβάσει σε μια ζωή. Κατά συνέπεια, θα πρέπει να διαχωρίσετε προσεκτικά τις πληροφορίες ή θα χαθείτε γρήγορα στο λαβύρινθο του MSDN. Ο κύριος ιστότοπος MSDN για συνεργασία με το LINQ σάς παρέχει ειδήσεις, πόρους και πρόσβαση σε άλλες πληροφορίες, όπως δείγματα.
Ιστολόγια της Microsoft |
Η Microsoft θέλει να ξέρετε πώς να εργαστείτε με το LINQ. Στο παρελθόν, θα βρείτε πολλές από τις πληροφορίες που χρειάζεστε στο MSDN. Η ιστοσελίδα του MSDN εξακολουθεί να είναι ένα καλό μέρος για να πάει, αλλά πολλοί προγραμματιστές της Microsoft διαμαρτύρονταν ότι ήταν λίγο επίσημος (τα άρθρα είναι αρκετά δύσκολο να κατανοηθούν σε ορισμένες περιπτώσεις) και δεν υπήρχε καμία ευκαιρία να αλληλεπιδράσουν με τους συγγραφείς. Τα blogs της Microsoft παρέχουν ένα φιλικότερο περιβάλλον για την απόκτηση πληροφοριών, όπου μπορείτε πραγματικά να επικοινωνήσετε με τον συγγραφέα. Εδώ είναι μερικά blog που θα θέλετε να επισκεφτείτε όταν εργάζεστε με το LINQ: | Beth Massi: Κοινή χρήση της καλοσύνης που είναι η Visual Basic (VB)
Το blog του Charlie Calvert |
BLOG του Wriju:. NET και όλα
Τα περισσότερα από αυτά τα blogs είναι γενικά - όλα συζητούν θέματα προγραμματισμού κάποιου είδους. Κατά συνέπεια, θα βρείτε ένα μείγμα θεμάτων σε κάθε ιστολόγιο. Ο συγγραφέας μπορεί να συζητήσει το σύστημα αρχείων σε μία θέση και το LINQ σε άλλο. Κάθε μία από αυτές έχει καταχωρήσεις συγκεκριμένες LINQ τις οποίες μπορείτε να αναζητήσετε χρησιμοποιώντας τις λειτουργίες αναζήτησης στο ιστολόγιο. Αν και ο Charlie Calvert έχει εγκαταλείψει τη Microsoft, το ιστολόγιό του περιέχει πολλές γενικές πληροφορίες LINQ.
Φόρουμ της Microsoft
Εάν δεν νομίζετε ότι έχετε αρκετή αλληλεπίδραση με τη Microsoft μέσω ενός ιστολογίου, οι υπάλληλοι της Microsoft συχνά συχνάζουν επίσης τα φόρουμ της Microsoft. Η μεταφόρτωση ενός μηνύματος στο σωστό φόρουμ μπορεί να σας δώσει κάποια επαγγελματική βοήθεια ή τουλάχιστον κάποια βοήθεια από άλλο μέλος του φόρουμ. Οι περισσότεροι προγραμματιστές βασίζονται στο φόρουμ MSDN για βασικές ερωτήσεις σχετικά με το LINQ. Μπορείτε να δείτε μια γενική λίστα φόρουμ στην Κοινότητα της Microsoft. Μην ξεχάσετε να δοκιμάσετε το φόρουμ γλώσσας για τη Visual Basic. ΚΑΘΑΡΑ.