c array how declare
Μάθετε τα πάντα για το C # Array σε αυτό το σε βάθος εκπαιδευτικό πρόγραμμα. Εξηγεί τον τρόπο δήλωσης, αρχικοποίησης και πρόσβασης σε συστοιχίες μαζί με τύπους και παραδείγματα συστοιχιών στο C #:
Το προηγούμενο σεμινάριό μας σε αυτήν τη σειρά C # εξήγησε λεπτομερώς όλα σχετικά με τις λειτουργίες C #.
Σε ένα από τα προηγούμενα μαθήματά μας, μάθαμε πώς μπορούν να χρησιμοποιηθούν οι μεταβλητές στο C # για να περιέχουν πληροφορίες σχετικά με έναν συγκεκριμένο τύπο δεδομένων. Ωστόσο, υπάρχει ένα πρόβλημα με τη μεταβλητή, δηλαδή μπορεί να αποθηκεύσει μόνο μία κυριολεκτική τιμή.
Για παράδειγμα, int a = 2, φανταστείτε μια κατάσταση όπου θέλουμε να αποθηκεύσουμε περισσότερες από μία τιμές, θα γίνει πολύ δυσκίνητο να ορίσουμε μια μεταβλητή για κάθε τιμή που θέλουμε να αποθηκεύσουμε. Το C # προσφέρει έναν πίνακα για την επίλυση αυτού του προβλήματος.
δημιουργώντας ένα δέντρο δυαδικής αναζήτησης στην Ιάβα
=> Διαβάστε τον οδηγό C # για αρχάριους εδώ
Τι θα μάθετε:
- Πίνακες σε C #
- Πλεονεκτήματα και μειονεκτήματα των συστοιχιών
- Τύποι συστοιχιών σε C #
- Πώς να δηλώσετε μια σειρά στο C #;
- Πώς να προετοιμάσετε μια σειρά στο C #;
- Πρόσβαση στην τιμή από μια σειρά
- Χρήση για βρόχο για πρόσβαση σε πίνακες
- Χρήση για κάθε βρόχο για πρόσβαση σε συστοιχίες
- Ιδιότητες και μέθοδοι που χρησιμοποιούνται με πίνακες
- συμπέρασμα
Πίνακες σε C #
Ένας πίνακας μπορεί να οριστεί ως ένας ειδικός τύπος δεδομένων που μπορεί να αποθηκεύσει έναν αριθμό τιμών διατεταγμένων διαδοχικά χρησιμοποιώντας την καθορισμένη σύνταξή του. Οι πίνακες μπορούν επίσης να οριστούν ως μια συλλογή μεταβλητών των ίδιων τύπων δεδομένων που αποθηκεύονται σε μια διαδοχική θέση μνήμης.
Σε αντίθεση με τη μεταβλητή τύπου δεδομένων, δεν δηλώνουμε μεμονωμένη μεταβλητή για κάθε τιμή, αλλά δηλώνουμε μια μεταβλητή πίνακα από την οποία μπορούν να προσπελαστούν τα συγκεκριμένα στοιχεία χρησιμοποιώντας έναν πίνακα ευρετηρίου.
Για παράδειγμα, αν ορίσουμε μια μεταβλητή πίνακα ως 'Όνομα'. Μπορούμε να αποκτήσουμε πρόσβαση στο περιεχόμενό του σε διαφορετικές τοποθεσίες μνήμης χρησιμοποιώντας ευρετήριο όπως Όνομα (0), Όνομα (1), Όνομα (2)… κ.λπ.
Η παραπάνω εικόνα είναι μια γραφική παράσταση ενός μονοδιάστατου πίνακα. Έχει πέντε στοιχεία (που αντιπροσωπεύονται από κάθε κύβο) στα οποία μπορείτε να προσπελάσετε χρησιμοποιώντας συγκεκριμένα ευρετήρια.
Πλεονεκτήματα και μειονεκτήματα των συστοιχιών
Παρακάτω αναφέρονται μερικά από τα πλεονεκτήματα των συστοιχιών:
- Τυχαία πρόσβαση σε τιμές που είναι αποθηκευμένες σε διαφορετικές θέσεις μνήμης.
- Εύκολος χειρισμός δεδομένων, όπως Διαλογή δεδομένων, Διασύνδεση δεδομένων ή άλλες λειτουργίες.
- Βελτιστοποίηση κώδικα.
Το μόνο μειονέκτημα που διαθέτει ένας πίνακας είναι ο περιορισμός του μεγέθους του. Οι πίνακες έχουν καθορισμένο μέγεθος.
Τύποι συστοιχιών σε C #
Η γλώσσα προγραμματισμού C # προσφέρει 3 διαφορετικούς τύπους συστοιχιών:
- 1 διάσταση ή μονοδιάστατη συστοιχία
- Πολυδιάστατη συστοιχία
- Jagged Array
Μονοδιάστατες συστοιχίες
Ένας διαστατικός πίνακας μας επιτρέπει να αποθηκεύουμε δεδομένα με διαδοχικό τρόπο. Ας πούμε ότι πρέπει να αποθηκεύσουμε το όνομα όλων των μαθητών σε μια τάξη. Ο πίνακας παρέχει έναν απλούστερο τρόπο αποθήκευσης παρόμοιων τύπων δεδομένων, επομένως μπορούμε να αποθηκεύσουμε όλα τα ονόματα των μαθητών σε έναν πίνακα.
Πώς να δηλώσετε μια σειρά στο C #;
Ένας πίνακας μπορεί να δηλωθεί χρησιμοποιώντας ένα όνομα τύπου δεδομένων ακολουθούμενο από μια αγκύλη τετραγώνου ακολουθούμενη από το όνομα του πίνακα.
int( ) integerArray; string( ) stringArray; bool( ) booleanArray;
Ομοίως, μπορείτε να δηλώσετε έναν πίνακα για διαφορετικούς τύπους δεδομένων.
Πώς να προετοιμάσετε μια σειρά στο C #;
(i) Ορισμός της σειράς με το δεδομένο μέγεθος
Ένας πίνακας μπορεί να αρχικοποιηθεί και να δηλωθεί μαζί χρησιμοποιώντας τη νέα λέξη-κλειδί. Για να προετοιμάσετε έναν πίνακα για 3 μαθητές. Πρέπει να δημιουργήσουμε έναν πίνακα με μέγεθος 3.
string ( ) student = new string ( 3 );
Το πρώτο μέρος 'string' ορίζει τον τύπο δεδομένων του πίνακα και μετά παρέχουμε το όνομα του πίνακα. Στη συνέχεια, μετά την εγγραφή ισούται με την προετοιμασία και την παροχή του μεγέθους του πίνακα. δηλ. 3.
(ii) Καθορισμός συστοιχίας και προσθήκη τιμών σε αυτούς
Αυτό είναι αρκετά παρόμοιο με το προηγούμενο παράδειγμα, ακριβώς με τη διαφορά των σγουρών τιράντες που περιέχουν τιμές του πίνακα.
string ( ) student = new string ( 3 ){“student1”, “student2”, “student3”};
(iii) Δήλωση της σειράς με στοιχεία
Σε αυτόν τον τύπο δήλωσης, δηλώνουμε άμεσα τον πίνακα χωρίς να παρέχουμε το μέγεθος του πίνακα. Ο αριθμός των τιμών που παρέχουμε θα καθορίσει αυτόματα το μέγεθος. Για παράδειγμα, εάν παρέχουμε 3 τιμές, τότε ο πίνακας θα έχει μέγεθος 3.
string ( ) student = {“student1”, “student2”, “student3”};
Πρόσβαση στην τιμή από μια σειρά
Για να αποκτήσουμε πρόσβαση σε οποιοδήποτε στοιχείο από έναν πίνακα πρέπει να έχουμε πρόσβαση στον πίνακα χρησιμοποιώντας το όνομα ευρετηρίου. Αυτό μπορεί να γίνει τοποθετώντας ένα ευρετήριο του στοιχείου μέσα σε ένα τετράγωνο αγκύλη πριν από το όνομα του πίνακα.
Για παράδειγμα, εάν έχουμε αρχικοποιήσει και δηλώσει τον ακόλουθο πίνακα:
string ( ) student = {“student1”, “student2”, “student3”};
Τότε μπορούμε να ανακτήσουμε την τιμή χρησιμοποιώντας το ευρετήριο ».
student(0) ;
Αυτό θα επιστρέψει το «student1».
Αλλά γιατί μηδέν; Είναι επειδή η μέτρηση ενός πίνακα ξεκινά από το μηδέν αντί για ένα. Ως εκ τούτου, η πρώτη τιμή θα αποθηκευτεί στο ευρετήριο μηδέν, στη συνέχεια στο ένα και ούτω καθεξής. Αυτό θα πρέπει επίσης να λαμβάνεται υπόψη κατά την εκχώρηση τιμών σε έναν πίνακα, καθώς θα προκαλέσει εξαίρεση σε περίπτωση υπερπλήρωσης.
Χρήση για βρόχο για πρόσβαση σε πίνακες
Ας γράψουμε ένα πρόγραμμα για πρόσβαση σε τιμές από έναν πίνακα χρησιμοποιώντας το loop.
string () std = new string(3) {“student1”, “student2”, “student3”}; /* value of each array element*/ for (int i = 0; i <3; i++ ) { Console.WriteLine('std({0}) = {1}', i, std(i)); } Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
std (0) = 'μαθητής1'
std (1) = 'μαθητής2'
std (2) = 'μαθητής3'
Όπως γνωρίζουμε, μπορούμε να έχουμε πρόσβαση στο στοιχείο παρέχοντας ένα ευρετήριο στην αγκύλη. Αυτή είναι η ίδια προσέγγιση που ακολουθήσαμε στο παραπάνω πρόγραμμα. Περάσαμε σε κάθε ευρετήριο και εκτυπώσαμε την τιμή στην κονσόλα.
Ας προσπαθήσουμε να χρησιμοποιήσουμε το ίδιο παράδειγμα με ένα απλό για κάθε βρόχο.
Χρήση για κάθε βρόχο για πρόσβαση σε συστοιχίες
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
μαθητής1
μαθητής2
μαθητής3
Ιδιότητες και μέθοδοι που χρησιμοποιούνται με πίνακες
Το Array class είναι η βασική κατηγορία για όλους τους πίνακες που ορίζονται στο C #. Ορίζεται στο χώρο ονομάτων του συστήματος και παρέχει διάφορες μεθόδους και ιδιότητες για την εκτέλεση λειτουργιών σε συστοιχίες.
Ας συζητήσουμε μερικές από τις πιο συχνά χρησιμοποιούμενες μεθόδους στο C #
Σαφή
Διαγράφει το στοιχείο που υπάρχει στον πίνακα. Ανάλογα με τον τύπο δεδομένων, τα στοιχεία του πίνακα μπορούν να μετατραπούν σε μηδέν, ψευδές ή μηδενικό.
Σύνταξη
Array.Clear (ArrayName, Index of starting element, number of element to clear);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } /* clearing the array by providing parameters */ Array.Clear(std, 0, 3); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
μαθητής1
μαθητής2
μαθητής3
Πίνακας. Η εκκαθάριση δήλωσης δέχεται τρεις παραμέτρους, η πρώτη είναι το όνομα του πίνακα, η δεύτερη είναι ο δείκτης εκκίνησης του εύρους των στοιχείων που πρέπει να διαγραφούν και η τρίτη είναι ο αριθμός των στοιχείων που πρέπει να διαγραφούν.
Στο παράδειγμά μας, ξεκινήσαμε από το ευρετήριο '0' και διαγράψαμε και τα τρία στοιχεία. Μπορείτε να παρέχετε τις δικές σας παραμέτρους σύμφωνα με την απαίτηση.
Λήψη
Επιστρέφει το μήκος του πίνακα δηλαδή τον αριθμό του στοιχείου που υπάρχει μέσα στον πίνακα.
Σύνταξη
ArrayName.Length;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach(string s in std){ Console.WriteLine(s); } int len = std.Length; Console.WriteLine(“The length of array is: ”+len); Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
μαθητής1
μαθητής2
μαθητής3
Το μήκος του πίνακα είναι: 3
Στο παραπάνω πρόγραμμα, καθώς το μήκος επιστρέφει μια ακέραια τιμή, έχουμε αποθηκεύσει την τιμή σε μια ακέραια μεταβλητή και τυπώσαμε την ίδια στην κονσόλα.
Ευρετήριο
Ανακτά το ευρετήριο της πρώτης εμφάνισης ενός καθορισμένου αντικειμένου από έναν μονοδιάστατο πίνακα.
Σύνταξη
Array.IndexOf(NameOfArray, Element_Value);;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } int len = Array.IndexOf(std, 'student3'); Console.WriteLine(len); Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
μαθητής1
μαθητής2
μαθητής3
δύο
Το IndexOf δέχεται δύο παραμέτρους, πρώτη είναι το όνομα του πίνακα και η επόμενη παράμετρος είναι η τιμή του στοιχείου μέσα στον πίνακα.
Αντίστροφη (συστοιχία)
Αντιστρέφει τις ακολουθίες του στοιχείου που υπάρχει σε έναν πίνακα.
Σύνταξη
Array.Reverse(NameOfArray);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Reverse(std); /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
μαθητής1
μαθητής2
μαθητής3
μαθητής3
μαθητής2
μαθητής1
Το Reverse δέχεται μία παράμετρο, δηλαδή το όνομα του πίνακα.
Στο παραπάνω παράδειγμα πρώτα, έχουμε εκτυπώσει τα στοιχεία από τον πίνακα. Στη συνέχεια, πραγματοποιήσαμε μια αντίστροφη λειτουργία στον πίνακα. Στη συνέχεια, εκτυπώσαμε το αποτέλεσμα της αντίστροφης λειτουργίας.
Ταξινόμηση (συστοιχία)
Ταξινομεί τις ακολουθίες του στοιχείου που υπάρχει σε έναν πίνακα.
Σύνταξη
Array.Sort(NameOfArray);
string () std = new string(3) {'colt', 'zebra', 'apple'}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Sort(std); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
πουλάρι
ζέβρα
μήλο
μήλο
πουλάρι
ζέβρα
Στην παραπάνω έξοδο, μπορείτε να δείτε ότι τα προηγούμενα στοιχεία του πίνακα είχαν διευθετηθεί σύμφωνα με την ακολουθία που παρείχαμε.
Όταν πραγματοποιήσαμε λειτουργία ταξινόμησης, όλα τα στοιχεία μέσα στον πίνακα τακτοποιούνται αλφαβητικά.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε για τις συστοιχίες στο C #. Οι πίνακες μπορούν να αποθηκεύσουν τιμές παρόμοιου τύπου δεδομένων σε μια σειρά. Το ευρετήριο σειρών για συστοιχίες ξεκινά από το μηδέν. Το μέγεθος του πίνακα πρέπει να καθοριστεί κατά την αρχικοποίηση του πίνακα.
Μπορούμε να έχουμε πρόσβαση στην τιμή ενός πίνακα χρησιμοποιώντας ευρετηρίαση. Το C # Array helper class περιέχει πολλές διαφορετικές ιδιότητες και μεθόδους για τη διευκόλυνση της λειτουργίας σε συστοιχίες.
=> Διαβάστε τον οδηγό C # για αρχάριους εδώ
Συνιστώμενη ανάγνωση
- Πίνακες σε STL
- Πολυδιάστατες συστοιχίες σε C ++
- Πίνακες C ++ με παραδείγματα
- Χρήση συστοιχιών με λειτουργίες στο C ++
- Πίνακες VBScript: Χρήση συναρτήσεων DIM, REDIM, Split και Ubound Array
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα
- Τι είναι η Τεχνική Ορθογώνιας Σειράς Δοκιμών (OATS);
- Συγχώνευση ταξινόμησης σε C ++ με παραδείγματα