c collections arraylist
Οι συλλογές C # είναι οι εξειδικευμένες τάξεις αποθήκευσης και τροποποίησης δεδομένων. Σε αυτό το σεμινάριο θα μάθετε για τις συλλογές C # όπως ArrayList, HashTable & SortedList With παραδείγματα:
Εξυπηρετούν διαφορετικούς σκοπούς όπως δυναμική κατανομή μνήμης, αξιολόγηση μη διαδοχικών δεδομένων κ.λπ.
Όλες αυτές οι κλάσεις χρησιμοποιούν την κλάση αντικειμένων που είναι η βασική κλάση για όλους τους άλλους τύπους δεδομένων.
=> Παρακολουθήστε την πλήρη σειρά C # Training εδώ
Τι θα μάθετε:
ποιο είναι το καλύτερο λογισμικό καθαρισμού υπολογιστή
- C # Συλλογές και η χρήση τους
- C # ArrayList
- Πώς να προετοιμάσετε μια λίστα ArrayList;
- Πώς να προσθέσετε στοιχεία σε μια λίστα ArrayList;
- Πώς να αποκτήσετε πρόσβαση σε ένα στοιχείο από μια λίστα ArrayList;
- Πώς να εισαγάγετε ένα στοιχείο στη λίστα ArrayList;
- Πώς να αφαιρέσετε ένα στοιχείο από το ArrayList;
- Πώς να αφαιρέσετε το στοιχείο λίστας χρησιμοποιώντας το ευρετήριο;
- Πώς να ταξινομήσετε και να αντιστρέψετε μια λίστα ArrayList;
- C # HashTable
- C # Ταξινόμηση λίστας
- C # ArrayList
- συμπέρασμα
C # Συλλογές και η χρήση τους
C # ArrayList
Το ArrayList είναι μέρος συλλογών στο C #. Χρησιμοποιείται για να περιέχει δεδομένα οποιουδήποτε δεδομένου τύπου δεδομένων. Είναι παρόμοιο με έναν πίνακα στο C # αλλά δεν έχει συγκεκριμένο μέγεθος. Το μέγεθός του αυξάνεται αυτόματα καθώς περισσότερα στοιχεία προστίθενται σε αυτό.
Πώς να προετοιμάσετε μια λίστα ArrayList;
Το ArrayList μπορεί να αρχικοποιηθεί χρησιμοποιώντας τη λέξη-κλειδί 'ArrayList'.
ArrayList arrList = new ArrayList();
Πώς να προσθέσετε στοιχεία σε μια λίστα ArrayList;
Μπορείτε να προσθέσετε ένα μεμονωμένο στοιχείο σε μια λίστα πινάκων χρησιμοποιώντας τη μέθοδο Προσθήκη () και μια σειρά στοιχείων ή πολλών στοιχείων από άλλη συλλογή χρησιμοποιώντας τη μέθοδο AddRange ().
Παράδειγμα:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); Console.ReadLine(); } } }
Εδώ, μπορείτε να δείτε ότι έχουμε χρησιμοποιήσει τη μέθοδο ArrayList.Add (). Όπως μπορείτε να παρατηρήσετε, έχουμε προσθέσει τόσο τους ακέραιους αριθμούς όσο και τη συμβολοσειρά στην ίδια λίστα πίνακα. Αυτό είναι δυνατό καθώς μια λίστα πινάκων είναι μη γενικού τύπου δεδομένων, δηλαδή μπορεί να περιέχει ένα στοιχείο οποιουδήποτε δεδομένου τύπου δεδομένων.
Πώς να αποκτήσετε πρόσβαση σε ένα στοιχείο από μια λίστα ArrayList;
Ένα στοιχείο λίστας πινάκων μπορεί να προσεγγιστεί παρόμοιο με έναν πίνακα, δηλαδή χρησιμοποιώντας το ευρετήριο. Όμως, επειδή είναι ένας μη γενικός τύπος, πρέπει πρώτα να τον μεταφέρουμε σε έναν κατάλληλο τύπο δεδομένων ή πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί var κατά την πρόσβαση σε μια τιμή από τη λίστα συστοιχιών.
Παράδειγμα:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); Console.ReadLine(); } } }
Στο παραπάνω παράδειγμα, έχουμε ανακτήσει τα δεδομένα χρησιμοποιώντας το ευρετήριο της λίστας πινάκων και στη συνέχεια τα έχουμε μεταφέρει στον κατάλληλο τύπο δεδομένων. Στη συνέχεια, τα αποτελέσματα εκτυπώθηκαν στην κονσόλα ως έξοδο.
Το αποτέλεσμα για το παραπάνω πρόγραμμα θα είναι:
Παραγωγή
Η πρώτη τιμή δείκτη είναι: 7896
Η δεύτερη τιμή ευρετηρίου είναι: Επτά
Πώς να εισαγάγετε ένα στοιχείο στη λίστα ArrayList;
Για να εισαγάγετε ένα στοιχείο στο ArrayList σε ένα καθορισμένο σημείο ή ευρετήριο. χρησιμοποιείται η μέθοδος Insert ().
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); Console.ReadLine(); } } }
Έτσι, έχουμε εισαγάγει μια νέα συμβολοσειρά στο ευρετήριο 1 χρησιμοποιώντας τη μέθοδο insert (). Έτσι, εάν εκτελέσουμε το παραπάνω πρόγραμμα, θα έχουμε την ακόλουθη έξοδο:
Παραγωγή
Η πρώτη τιμή δείκτη είναι: 7896
Η δεύτερη τιμή ευρετηρίου είναι: Επτά
Η δεύτερη τιμή δείκτη είναι: Οκτώ
Πώς να αφαιρέσετε ένα στοιχείο από το ArrayList;
Ένα στοιχείο μπορεί να αφαιρεθεί από το ArrayList χρησιμοποιώντας τη μέθοδο Remove (). Η μέθοδος κατάργησης δέχεται μια παράμετρο, δηλαδή την τιμή που πρέπει να αφαιρεθεί από τον πίνακα.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); arrList.Remove(7896); var data = arrList(0); Console.WriteLine('The value at 0 index is : ' + data); Console.ReadLine(); } } }
Η μέθοδος κατάργησης αφαιρεί τη δεδομένη τιμή από τη λίστα. Όταν η τιμή αφαιρείται από το δεδομένο ευρετήριο, η επόμενη τιμή μετακινεί έναν δείκτη προς τα πάνω για να καλύψει το κενό. Καθώς αφαιρούμε 0 ευρετήρια, η τιμή από το ευρετήριο 1 θα μετακινηθεί και θα γεμίσει το κενό στο 0.
Το αποτέλεσμα του ακόλουθου προγράμματος θα είναι:
Παραγωγή
Η πρώτη τιμή δείκτη είναι: 7896
Η δεύτερη τιμή ευρετηρίου είναι: Επτά
Η δεύτερη τιμή δείκτη είναι: Οκτώ
Η τιμή στο ευρετήριο 0 είναι: Οκτώ
Πώς να αφαιρέσετε το στοιχείο λίστας χρησιμοποιώντας το ευρετήριο;
Ο χρήστης μπορεί να καταργήσει ένα στοιχείο λίστας από ένα συγκεκριμένο ευρετήριο χρησιμοποιώντας τη μέθοδο RemoveAt (). Το RemoveAt () δέχεται μία μόνο παράμετρο με έναν αριθμό ευρετηρίου από τον οποίο πρέπει να αφαιρεθεί το στοιχείο. Παρόμοια με τη μέθοδο αφαίρεσης, η αφαίρεση ενός στοιχείου από τη μέση θα ωθήσει το επόμενο στοιχείο για να μετακινηθεί ένα βήμα προς τα πάνω για να γεμίσει το κενό.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7896); arrList.Add('Seven'); //casted and retrieved data int first_index = (int)arrList(0); string second_index = (string)arrList(1); Console.WriteLine('The first index value is : ' + first_index); Console.WriteLine('The second index value is : ' + second_index); arrList.Insert(1, 'Eight'); second_index = (string)arrList(1); Console.WriteLine('The second index value is : ' + second_index); arrList.RemoveAt(1); var data = arrList(1); Console.WriteLine('The value at 1 index is : ' + data); Console.ReadLine(); } } }
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε το RemoveAt για να αφαιρέσουμε το ευρετήριο 1. Επομένως, το στοιχείο στο ευρετήριο 2 πρέπει να μετακινηθεί στο ευρετήριο 1 για να αντικαταστήσει το κενό.
Λήψη μουσικής mp3 δωρεάν κορυφαία εφαρμογή
Το αποτέλεσμα του ακόλουθου προγράμματος θα είναι:
Παραγωγή
Η πρώτη τιμή δείκτη είναι: 7896
Η δεύτερη τιμή ευρετηρίου είναι: Επτά
Η δεύτερη τιμή δείκτη είναι: Οκτώ
Η τιμή στο 1 ευρετήριο είναι: Επτά
Πώς να ταξινομήσετε και να αντιστρέψετε μια λίστα ArrayList;
Το ArrayList προσφέρει δύο διαφορετικές μεθόδους ταξινόμησης και αντίστροφης λειτουργίας. Υπάρχει μόνο μία συνθήκη, δηλαδή όλα τα στοιχεία στη λίστα πινάκων θα πρέπει να έχουν τον ίδιο τύπο δεδομένων για σύγκριση με ένα συγκριτικό αλλιώς θα προκαλέσει σφάλμα χρόνου εκτέλεσης.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; namespace ConsoleApp1 { class Program { static void Main(string() args) { ArrayList arrList = new ArrayList(); arrList.Add(7); arrList.Add(4); arrList.Add(5); arrList.Add(1); arrList.Add(3); Console.WriteLine('Original Array List'); foreach (var v in arrList) { Console.Write(v + ' '); } //sorting an array list Console.WriteLine(); Console.WriteLine('Sorted Array List'); arrList.Sort(); foreach (var srt in arrList) { Console.Write(srt + ' '); } //Reversing an array list Console.WriteLine(); Console.WriteLine('Reversed Array List'); arrList.Reverse(); foreach (var rvrs in arrList) { Console.Write(rvrs + ' '); } Console.ReadLine(); } } }
Στο παραπάνω πρόγραμμα, δημιουργήσαμε πρώτα μια λίστα πινάκων με ακέραιο τύπο δεδομένων και στη συνέχεια χρησιμοποιήσαμε τη μέθοδο ταξινόμησης για να ταξινομήσουμε τη λίστα και την αντίστροφη μέθοδο για να αντιστρέψουμε την ταξινομημένη λίστα.
Έτσι, η έξοδος της παρακάτω λίστας θα είναι:
Παραγωγή
Πρωτότυπη λίστα συστοιχιών
7 4 5 1 3
Ταξινόμηση λίστας συστοιχιών
1 3 4 5 7
Λίστα αντίστροφης σειράς
7 5 4 3 1
C # HashTable
Ο χώρος ονομάτων System.Collections στο C # περιέχει Hashtable που μοιάζει αρκετά με το λεξικό. Το Hashtable αποθηκεύει δεδομένα με τη μορφή ζευγών κλειδιών-τιμών.
Αυτό το κάνει εσωτερικά, εκχωρώντας έναν κωδικό κατακερματισμού στο κλειδί κατακερματισμού εσωτερικά και όποτε προσπελάζονται δεδομένα, ταιριάζει με τον κωδικό κατακερματισμού με ένα κλειδί κατακερματισμού για την ανάκτηση δεδομένων. Κάθε στοιχείο στον πίνακα θα έχει ένα ζεύγος τιμών-κλειδιών
Πώς να ξεκινήσετε έναν πίνακα κατακερματισμού;
Ένα HashTable μπορεί να αρχικοποιηθεί χρησιμοποιώντας τη λέξη-κλειδί HashTable και στη συνέχεια να δημιουργήσει μια παρουσία του.
Hashtable hashtbl = new Hashtable();
Πώς να προσθέσετε στοιχεία σε έναν πίνακα κατακερματισμού;
Στοιχεία μπορούν να προστεθούν στο HashTable χρησιμοποιώντας τη μέθοδο Προσθήκη (). Επιτρέπει στους χρήστες να προσθέσουν ένα στοιχείο με το κλειδί και την αξία του. Δεν είναι σημαντικό να περιγράψετε τον τύπο δεδομένων του κλειδιού ή της τιμής. Κατά την προσθήκη στοιχείων στο HashTable, θα πρέπει να θυμάστε ότι τα πλήκτρα δεν μπορούν να περιέχουν null των οποίων οι τιμές μπορούν να είναι null.
HashTable.Add (Κλειδιά, Τιμές);
Παράδειγμα:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); } }
Όπως μπορείτε να δείτε, έχουμε προσθέσει διαφορετικούς τύπους δεδομένων ως κλειδιά και τιμές.
Πώς να αποκτήσετε πρόσβαση σε στοιχεία που υπάρχουν σε πίνακα κατακερματισμού;
Κάποιος μπορεί να ανακτήσει την τιμή οποιουδήποτε κλειδιού από το Hashtable χρησιμοποιώντας ένα ευρετήριο. Αλλά το ευρετήριο απαιτεί επίσης ένα κλειδί για πρόσβαση και ανάκτηση της τιμής από τον πίνακα.
Ας προσθέσουμε ένα μικρό απόσπασμα κώδικα στο παραπάνω πρόγραμμα για τη λήψη τιμών:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); Console.ReadLine(); } }
Τώρα αν το εκτελέσουμε, θα παραχθεί η ακόλουθη έξοδος:
ένας
φερράρι
οκτώ
Στο παραπάνω πρόγραμμα, έχουμε ρίξει την τιμή όλων των κλειδιών για έναν δεδομένο τύπο δεδομένων, για να αφαιρέσουμε οποιοδήποτε σφάλμα σύνταξης που μπορεί να προκύψει. Αυτό συμβαίνει επειδή ως μη γενική συλλογή, το Hashtable δεν περιέχει πληροφορίες σχετικά με τον τύπο δεδομένων οποιουδήποτε από τα περιεχόμενά του, δηλαδή κλειδιά και τιμές.
Ως εκ τούτου, εάν προσπαθήσουμε άμεσα να πάρουμε τον μεταγλωττιστή δεδομένων, θα συγχέουμε τον τύπο δεδομένων και θα ρίξουμε ένα σφάλμα.
Πώς να αφαιρέσετε ένα στοιχείο από Hashtable;
Ας υποθέσουμε ότι θέλουμε να καταργήσουμε ένα συγκεκριμένο ζεύγος τιμών-κλειδιών από το Hashtable. Για να το επιτύχουμε αυτό πρέπει να χρησιμοποιήσουμε τη μέθοδο Remove () που προσφέρουν οι συλλογές. Η μέθοδος Remove διαγράφει ένα δεδομένο ζεύγος κλειδιού-τιμής από το Hashtable μόνιμα.
Κατάργηση (κλειδί);
Ας προσθέσουμε τη μέθοδο Κατάργηση στο παραπάνω πρόγραμμα για να λάβουμε την ιδέα:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :'+valueRemoved); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι το ακόλουθο.
ένας
Φεράρι
οκτώ
Η τιμή του δεδομένου κλειδιού είναι:
Όχι, η τιμή εκτυπώνεται στην κονσόλα καθώς αφαιρέσαμε το κλειδί από το Hashtable. Ως εκ τούτου, η τιμή συμβολοσειράς από το valueRemoved είναι μηδενική.
Εάν θέλετε να αφαιρέσετε τα πάντα από το hashtable, τότε το C # μας παρέχει μια άλλη μέθοδο που ονομάζεται Clear (). Η μέθοδος Remove διαγράφει ένα ζεύγος κλειδιών-τιμών κάθε φορά, ενώ η μέθοδος Clear διαγράφει τα πάντα από το hashmap.
Ας ρίξουμε μια ματιά στο παρακάτω πρόγραμμα για να το κάνουμε αυτό:
class Program { static void Main(string() args) { Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number',1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :'+valueRemoved); // clearing all data from the HashTable hashtbl.Clear(); Console.ReadLine(); } }
Το παραπάνω πρόγραμμα θα αφαιρέσει όλα τα στοιχεία από το hashtable και θα το καταστήσει κενό.
Άλλες σημαντικές μέθοδοι που προσφέρονται από το Hashtable είναι το ContainsKey () και το ContainsValue (). Και οι δύο αυτές μέθοδοι δέχονται ένα όρισμα που είναι ένα κλειδί ή μια τιμή και επιστρέφουν μια τιμή Boolean. Έτσι, εάν η παράμετρος που έχει περάσει με αυτήν τη μέθοδο υπάρχει στο hashtable, τότε θα επιστρέψει μια πραγματική τιμή και αν δεν είναι παρούσα, θα επιστραφεί το false.
ποιο τύπο δοκιμής χρησιμοποιείται για την επαλήθευση ότι όλα τα προγράμματα μιας εφαρμογής λειτουργούν σωστά;
C # Ταξινόμηση λίστας
Όπως υποδηλώνει το όνομα, το SortedList περιέχει ταξινομημένα δεδομένα σε αύξουσα σειρά. Είναι παρόμοιο με το Hashtable καθώς περιέχει παρόμοιο ζεύγος κλειδιού-τιμής. Όλα τα πλήκτρα που εισάγονται ή προστίθενται στη λίστα ταξινόμησης ταξινομούνται αυτόματα σε αύξουσα σειρά.
Πώς να ξεκινήσετε μια ταξινομημένη λίστα;
Μια SortedList μπορεί να αρχικοποιηθεί χρησιμοποιώντας τη λέξη-κλειδί SortedList και δημιουργώντας μια παρουσία αντικειμένου για αυτήν.
SortedList sortedList = new SortedList();
Το αντικείμενο μπορεί στη συνέχεια να χρησιμοποιηθεί για την εκτέλεση λειτουργιών χρησιμοποιώντας την ιδιότητα και τις μεθόδους SortedList.
Πώς να προσθέσετε ένα στοιχείο σε μια ταξινομημένη λίστα;
Μπορείτε να προσθέσετε ένα στοιχείο σε μια SortedList χρησιμοποιώντας τη μέθοδο Προσθήκη (). Μια SortedList απαιτεί να προσθέσετε ένα κλειδί και μια τιμή. Μπορείτε να προσθέσετε κλειδιά και τιμές με οποιαδήποτε σειρά θέλετε και η ταξινομημένη λίστα θα τακτοποιήσει όλα τα προστιθέμενα στοιχεία σε αύξουσα σειρά.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); Console.ReadLine(); } }
Στο παραπάνω πρόγραμμα, μπορείτε να δείτε ότι έχουμε προσθέσει ακέραιο ως κλειδί και μετά συμβολοσειρά ως τιμές. Μπορείτε να προσθέσετε οποιονδήποτε τύπο δεδομένων όπως θέλετε και με οποιαδήποτε σειρά θέλετε. Το SortedList θα το τακτοποιήσει σε αύξουσα σειρά.
Παρόμοια με το HashTable, τα πλήκτρα δεν μπορούν να είναι μηδενικά και όλα τα πλήκτρα πρέπει να έχουν τον ίδιο τύπο δεδομένων για σύγκριση, αλλιώς θα προκαλέσει σφάλμα συλλογής.
Η λίστα Ταξινόμηση ταξινομεί το στοιχείο κάθε φορά που τα προσθέτετε. Έτσι, ακόμη και αν προσθέσετε οποιοδήποτε στοιχείο μετά την ολοκλήρωση της ταξινόμησης, θα ταξινομήσει ξανά και θα προσθέσει το στοιχείο στον κατάλληλο κατάλογό του.
Πώς να αποκτήσετε πρόσβαση στα στοιχεία από μια ταξινομημένη λίστα;
Μπορείτε να αποκτήσετε πρόσβαση σε μια τιμή στη λίστα ταξινομημένων χρησιμοποιώντας το κλειδί.
Ας προσθέσουμε έναν απλό κώδικα για να πάρουμε την τιμή από το SortedList που περιγράφεται στο προηγούμενο παράδειγμα:
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); string i = (string)sortedList(1); string j = (string)sortedList(5); string k = (string)sortedList(3); Console.WriteLine(i); Console.WriteLine(j); Console.WriteLine(k); Console.ReadLine(); } }
Η έξοδος του παραπάνω αποσπάσματος κώδικα θα είναι:
Ένα δέντρο
Πέντε μάγκο
Τρία λεμόνια
Στο παραπάνω απόσπασμα κώδικα, πρέπει να ρίξουμε την τιμή όλων των κλειδιών για έναν δεδομένο τύπο δεδομένων για να αφαιρέσουμε οποιοδήποτε σφάλμα σύνταξης που μπορεί να προκύψει με τον τύπο δεδομένων της τιμής. Αυτό γίνεται για να διασφαλιστεί ότι δεν θα δημιουργηθεί σφάλμα συλλογής, ακόμη και αν ορισμένα από τα κλειδιά περιέχουν διαφορετικούς τύπους δεδομένων.
Πώς να επικυρώσετε εάν ένα δεδομένο κλειδί υπάρχει σε μια λίστα ταξινόμησης;
Υπάρχουν δύο ενσωματωμένες μέθοδοι, δηλαδή Περιέχει () και Περιέχει Key () που μας βοηθούν να προσδιορίσουμε εάν υπάρχει ένα συγκεκριμένο κλειδί μέσα σε μια ταξινομημένη λίστα. ConstainsValue () είναι μια άλλη μέθοδος που χρησιμοποιείται για να προσδιοριστεί εάν μια συγκεκριμένη τιμή υπάρχει μέσα στη συλλογή ή όχι.
Ας ρίξουμε μια ματιά σε ένα απλό πρόγραμμα για να μάθουμε περισσότερα σχετικά με αυτές τις μεθόδους.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); //boolean value for key 5 bool key = sortedList.ContainsKey(5); //boolean value for vlaue 'One Tree' bool val = sortedList.ContainsValue('One Tree'); //Boolean value for unavailable key bool unKey = sortedList.ContainsKey(25); //Boolean value for unavailable value bool unVal = sortedList.ContainsValue('some randome value'); Console.WriteLine('The sorted list contains 5 key :' + key); Console.WriteLine('The sorted list contains One Tree value :' + val); Console.WriteLine('The sorted list contains 25 key :' +unKey); Console.WriteLine('The sorted list contains some random value:' + unVal); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Η ταξινομημένη λίστα περιέχει 5 κλειδιά: True
Η ταξινομημένη λίστα περιέχει μια τιμή ενός δέντρου: True
Η ταξινομημένη λίστα περιέχει 25 κλειδιά: False
Η ταξινομημένη λίστα περιέχει κάποια τυχαία τιμή: False
Στο παραπάνω πρόγραμμα, μπορείτε να δείτε ξεκάθαρα ότι εάν η τιμή ή το κλειδί υπάρχει μέσα στη Λίστα ταξινόμησης, τότε επιστρέφεται μια πραγματική τιμή και εάν απουσιάζει τότε επιστρέφεται μια λανθασμένη τιμή.
Πώς να αφαιρέσετε ένα στοιχείο από τη λίστα ταξινόμησης;
Η ταξινομημένη λίστα προσφέρει μεθόδους Remove () και RemoveAt () για τη διαγραφή οποιουδήποτε στοιχείου υπάρχει σε μια Ταξινομημένη λίστα. Το Remove αποδέχεται ένα μόνο όρισμα με το όνομα κλειδιού και το RemoveAt δέχεται επίσης ένα μόνο όρισμα αλλά με ευρετήριο.
Και οι δύο αυτές μέθοδοι καταργούν οποιοδήποτε στοιχείο υπάρχει στη λίστα Ταξινόμηση με βάση το όρισμα.
Ας ρίξουμε μια ματιά σε έναν απλό κώδικα για να τον κατανοήσουμε πιο καθαρά.
class Program { static void Main(string() args) { SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); //The Remove() method accepts key as argument and removes both the key and the value sortedList.Remove(1); //Now we will check if the key is present bool rmvKey = sortedList.ContainsKey(1); Console.WriteLine('The presence if the key is: ' + rmvKey); //The RemoveAt() method acceots index as argument and remove any key and value present at that index sortedList.RemoveAt(3); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Η παρουσία εάν το κλειδί είναι: Λάθος
Στο παραπάνω πρόγραμμα, χρησιμοποιήσαμε αρχικά τη μέθοδο Κατάργηση για να αφαιρέσουμε ένα ζεύγος τιμών-κλειδιών χρησιμοποιώντας το κλειδί. Αυτό θα αφαιρέσει οποιοδήποτε ζεύγος κλειδιού-τιμής που ταιριάζει με το κλειδί που παρέχεται στο όρισμα. Στη συνέχεια χρησιμοποιήσαμε τη μέθοδο ContainsKey για να επαληθεύσουμε ότι το αφαιρεθέν κλειδί δεν υπάρχει πλέον στη λίστα Ταξινόμηση.
Στην επόμενη γραμμή, χρησιμοποιήσαμε τη μέθοδο RemoveAt που αφαιρεί στοιχεία χρησιμοποιώντας το ευρετήριο. Έτσι, όπως συζητήσαμε νωρίτερα όταν το συγκεκριμένο στοιχείο θα αφαιρεθεί από το ευρετήριο, ένα άλλο στοιχείο θα κινηθεί προς τα πάνω για να αναδιατάξει και να διατηρήσει τη δομή λίστας ταξινομημένων.
συμπέρασμα
Οι συλλογές είναι αφιερωμένες τάξεις που υπάρχουν στη γλώσσα προγραμματισμού C # για αποθήκευση και λειτουργία δεδομένων. Αυτά χρησιμοποιούνται για την εκτέλεση συγκεκριμένων ενεργειών, δηλαδή για τη δημιουργία δυναμικών λιστών, Αντίστροφη, Ταξινόμηση κ.λπ. σε ένα δεδομένο σύνολο δεδομένων.
Σε αυτό το σεμινάριο, μάθαμε για το ArrayList που είναι παρόμοιο με έναν πίνακα σε ορισμένες πτυχές αλλά δεν έχει προκαθορισμένο μέγεθος. Μάθαμε επίσης για το HashTable που αποθηκεύει δεδομένα σε ζεύγη τιμών-κλειδιών. Οποιαδήποτε τιμή μπορεί να ανακτηθεί χρησιμοποιώντας το κλειδί.
Μάθαμε επίσης για τη ταξινομημένη λίστα που είναι παρόμοια με έναν πίνακα κατακερματισμού, αλλά ταξινομεί αυτόματα όλα τα δεδομένα που υπάρχουν μέσα σε αυτήν, σε αύξουσα σειρά με βάση τα πλήκτρα.
Τα δεδομένα εντός της Ταξινομημένης Λίστας είναι πάντα σε αύξουσα σειρά, δηλαδή ακόμα κι αν αφαιρέσετε ένα συγκεκριμένο στοιχείο από τη μέση ή προσθέσετε ένα νέο στοιχείο στη Ταξινομημένη λίστα, θα τακτοποιήσει αυτόματα όλα τα δεδομένα σε αύξουσα σειρά.
Δείγμα κώδικα
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SeleniumFrameWork.FrameworkEssentials; using SeleniumFrameWork.FrameWorkSupportModules; namespace ConsoleApp1 { class Program { static void Main(string() args) { /* Array List Code */ ArrayList arrList = new ArrayList(); arrList.Add(7); arrList.Add(4); arrList.Add(5); arrList.Add(1); arrList.Add(3); Console.WriteLine('Original Array List'); foreach (var v in arrList) { Console.Write(v + ' '); } //sorting an array list Console.WriteLine(); Console.WriteLine('Sorted Array List'); arrList.Sort(); foreach (var srt in arrList) { Console.Write(srt + ' '); } //Reversing an array list Console.WriteLine(); Console.WriteLine('Reversed Array List'); arrList.Reverse(); foreach (var rvrs in arrList) { Console.Write(rvrs + ' '); } /* HashTable Code */ Hashtable hashtbl = new Hashtable(); hashtbl.Add('Number', 1); hashtbl.Add('Car', 'Ferrari'); hashtbl.Add(8, 'eight'); int value1 = (int)hashtbl('Number'); String value2 = (string)hashtbl('Car'); String value3 = (string)hashtbl(8); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); //now we remove a key hashtbl.Remove(8); //Lets try to find the remove key now String valueRemoved = (string)hashtbl(8); Console.WriteLine('The value of the given key is :' + valueRemoved); // clearing all data from the HashTable hashtbl.Clear(); /* Sorted List Code */ SortedList sortedList = new SortedList(); sortedList.Add(2, 'Two Pineapples'); sortedList.Add(4, 'Four Apples'); sortedList.Add(3, 'Three Lemons'); sortedList.Add(5, 'Five Mangoes'); sortedList.Add(1, 'One Tree'); string i = (string)sortedList(1); string j = (string)sortedList(5); string k = (string)sortedList(3); Console.WriteLine(i); Console.WriteLine(j); Console.WriteLine(k); //boolean value for key 5 bool key = sortedList.ContainsKey(5); //boolean value for vlaue 'One Tree' bool val = sortedList.ContainsValue('One Tree'); //Boolean value for unavailable key bool unKey = sortedList.ContainsKey(25); //Boolean value for unavailable value bool unVal = sortedList.ContainsValue('some randome value'); Console.WriteLine('The sorted list contains 5 key :' + key); Console.WriteLine('The sorted list contains One Tree value :' + val); Console.WriteLine('The sorted list contains 25 key :' +unKey); Console.WriteLine('The sorted list contains some randome value:' + unVal); //The Remove() method accepts key as argument and removes both the key and the value sortedList.Remove(1); //Now we will check if the key is present bool rmvKey = sortedList.ContainsKey(1); Console.WriteLine('The presence if the key is: ' + rmvKey); //The RemoveAt() method acceots index as argument and remove any key and value present at that index sortedList.RemoveAt(3); Console.ReadLine(); } } }
=> Αναζητήστε τον εύκολο οδηγό εκπαίδευσης C # εδώ
Συνιστώμενη ανάγνωση
- Εκμάθηση Python DateTime με παραδείγματα
- Αποκοπή εντολής στο Unix με παραδείγματα
- Unix Cat Command Syntax, Επιλογές με παραδείγματα
- Χρήση δρομέα στο MongoDB με παραδείγματα
- Ls Command στο Unix με παραδείγματα
- MongoDB Sort () Μέθοδος με παραδείγματα
- Εντολή Grep στο Unix με απλά παραδείγματα
- Χρήση του ObjectId () στο MongoDB με παραδείγματα