learn use c stringbuilder class
Αυτό το σεμινάριο εξηγεί την κλάση C # StringBuilder και τις μεθόδους της, όπως Προσάρτηση, Διαγραφή, Αφαίρεση, Εισαγωγή, Αντικατάσταση και Ισότητα με λεπτομέρεια με παραδείγματα:
Η κλάση StringBuilder στο C # λειτουργεί με τη συμβολοσειρά όταν απαιτείται η χρήση επαναλαμβανόμενων λειτουργιών συμβολοσειράς.
Μια συμβολοσειρά είναι αμετάβλητη, δηλαδή δεν μπορεί να αλλάξει. Μόλις δημιουργηθεί μια συγκεκριμένη συμβολοσειρά, δεν μπορεί να αλλάξει. Οποιαδήποτε αλλαγή ή ενημέρωση στο String θα δημιουργήσει ένα νέο αντικείμενο συμβολοσειράς στη μνήμη. Όπως είναι προφανές, αυτή η συμπεριφορά θα παρεμποδίσει την απόδοση εάν η επαναλαμβανόμενη λειτουργία εκτελείται στην ίδια συμβολοσειρά.
=> Δείτε τα εκπαιδευτικά σεμινάρια C-In-Depth εδώ
Η κλάση StringBuilder στο C # στοχεύει στην επίλυση αυτού του προβλήματος. Επιτρέπει δυναμική κατανομή μνήμης, δηλαδή μπορεί να επεκτείνει τον αριθμό των χαρακτήρων στη συμβολοσειρά. Δεν δημιουργεί νέο αντικείμενο μνήμης αλλά αυξάνει δυναμικά το μέγεθος της μνήμης για να περιέχει νέους χαρακτήρες.
Τι θα μάθετε:
Πώς να ξεκινήσετε το C # StringBuilder;
Το StringBuilder αρχικοποιείται παρόμοια με οποιαδήποτε άλλη κατηγορία. Η κλάση StringBuilder υπάρχει στο χώρο ονομάτων συστήματος. Το κείμενο πρέπει να εισαχθεί στην τάξη για παράδειγμα.
Παράδειγμα αρχικοποίησης:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος είναι:
δωρεάν λογισμικό ελέγχου έκδοσης για Windows
γεια σας
Μέθοδοι C # StringBuilder
Η κλάση StringBuilder προσφέρει επίσης πολλές διαφορετικές μεθόδους για να χειριστείτε τη συμβολοσειρά.
# 1) Προσάρτηση μεθόδου
Όπως προτείνεται από το όνομα, προσαρτά ένα σύνολο χαρακτήρων ή συμβολοσειράς στο τέλος του τρέχοντος String Builder. Είναι πολύ χρήσιμο στη βελτίωση της απόδοσης όταν απαιτούνται αρκετές συνενώσεις συμβολοσειρών για την ίδια συμβολοσειρά.
Παράδειγμα:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
γεια σας
Γειά σου Κόσμε
Στο παραπάνω πρόγραμμα, αρχικά ορίσαμε μια συμβολοσειρά μέσω του stringBuilder. Στη συνέχεια χρησιμοποιήσαμε το Append () για να συνενώσουμε μια άλλη συμβολοσειρά με την προηγούμενη. Εάν εκτελέσουμε τη γραμμή κώδικα πριν από το προσάρτημα τότε έχει την έξοδο ως 'Γεια' αλλά μόλις το προσαρτήσουμε και εκτυπώσουμε το αποτέλεσμα θα εκτυπώσει 'Γεια σας Κόσμος', δηλαδή την προηγούμενη συμβολοσειρά με τη συνημμένη συμβολοσειρά.
# 2) Εκκαθάριση μεθόδου
Αυτή η μέθοδος αφαιρεί όλους τους χαρακτήρες από το τρέχον StringBuilder. Είναι πολύ χρήσιμο σε σενάρια όπου πρέπει να πάρουμε μια κενή συμβολοσειρά ή όπου πρέπει να διαγράψουμε τα δεδομένα από μια μεταβλητή συμβολοσειράς.
Παράδειγμα:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος είναι:
γεια σας
Γειά σου Κόσμε
Όταν εκτελούμε μια καθαρή λειτουργία στο StringBuilder και μετά προσπαθούμε να εκτυπώσουμε την προκύπτουσα συμβολοσειρά. Θα λάβουμε μια τιμή μαύρης συμβολοσειράς. Στο παραπάνω πρόγραμμα, έχουμε προσθέσει την τιμή στο StringBuilder και εκτυπώσαμε την τιμή στην κονσόλα.
Στη συνέχεια εκτελέσαμε μια καθαρή λειτουργία που αφαιρούσε όλη την τιμή από το StringBuilder μετά από αυτό όταν προσπαθήσαμε να εκτυπώσουμε, εκτύπωσε μια κενή τιμή.
# 3) Κατάργηση μεθόδου
Η κατάργηση είναι παρόμοια με τη διαγραφή, αλλά με μια μικρή διαφορά. Αφαιρεί επίσης τους χαρακτήρες από το StringBuilder αλλά το κάνει μέσα σε ένα δεδομένο εύρος σε αντίθεση με το σαφές που αφαιρεί όλους τους χαρακτήρες που υπάρχουν στο StringBuilder. Η κατάργηση χρησιμοποιείται όποτε το σενάριο απαιτεί από το πρόγραμμα να αφαιρέσει ένα συγκεκριμένο σύνολο χαρακτήρων από τη συμβολοσειρά αντί για ολόκληρη τη συμβολοσειρά.
Παράδειγμα:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
γεια σας
Γειά σου Κόσμε
Ο Κόσμος
Η κατάργηση δέχεται δύο παραμέτρους, η πρώτη υποδεικνύει το ευρετήριο εκκίνησης, δηλ. Ευρετήριο του χαρακτήρα από το οποίο θέλετε να ξεκινήσετε την κατάργηση. Η δεύτερη παράμετρος δέχεται επίσης ακέραιο που σημαίνει μήκος, δηλαδή το μήκος του χαρακτήρα από τον οποίο θέλετε να καταργήσετε.
τι είναι μια deque c ++
Στο παραπάνω πρόγραμμα, παρείχαμε τον αρχικό δείκτη ως 2 και το μήκος ως τρεις. Άρχισε λοιπόν να αφαιρεί τον χαρακτήρα από το ευρετήριο 2, δηλ. He’l’lo και δώσαμε το μήκος ως τρεις, το πρόγραμμα αφαίρεσε τρεις χαρακτήρες από το «l» και έτσι το «ll o» καταργήθηκε.
# 4) Εισαγωγή μεθόδου
Εισάγει έναν ή περισσότερους χαρακτήρες μέσα στη συμβολοσειρά στο δεδομένο ευρετήριο. Επιτρέπει επίσης στο χρήστη να καθορίσει πόσες φορές πρέπει να εισαχθεί η συμβολοσειρά ή ο χαρακτήρας στο StringBuilder. Χρησιμοποιείται στις συνθήκες όπου οι χαρακτήρες πρέπει να εισαχθούν στη δεδομένη συμβολοσειρά σε μια συγκεκριμένη θέση.
Παράδειγμα:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Γειά σου Κόσμε
He_insert_llo Κόσμος
Στο παραπάνω πρόγραμμα, η μέθοδος Εισαγωγή χρησιμοποιείται για την εισαγωγή χαρακτήρων σε ένα συγκεκριμένο ευρετήριο. Η μέθοδος εισαγωγής δέχεται δύο παραμέτρους. Η πρώτη παράμετρος είναι ένας ακέραιος που δηλώνει το ευρετήριο όπου θα εισαχθούν οι χαρακτήρες. Η δεύτερη παράμετρος δέχεται χαρακτήρες που ο χρήστης θέλει να εισαγάγει στο δεδομένο ευρετήριο.
# 5) Αντικατάσταση μεθόδου
Η μέθοδος αντικατάστασης αντικαθιστά όλες τις εμφανίσεις της καθορισμένης συμβολοσειράς στο StringBuilder από τη συμβολοσειρά ή το χαρακτήρα που παρέχεται από το χρήστη. Αντικαθιστά συγκεκριμένους χαρακτήρες σε ένα συγκεκριμένο ευρετήριο. Μπορεί να χρησιμοποιηθεί σε σενάρια όπου ορισμένοι από τους χαρακτήρες πρέπει να αντικατασταθούν από άλλο χαρακτήρα.
Παράδειγμα:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος είναι:
Γειά σου Κόσμε
Γεια σου κόσμε
Στο παραπάνω πρόγραμμα, χρησιμοποιήσαμε τη μέθοδο Replace για να αντικαταστήσουμε το 'Hello' με το 'Hi'. Η μέθοδος αντικατάστασης δέχεται δύο παραμέτρους, η πρώτη είναι η συμβολοσειρά ή οι χαρακτήρες που θέλετε να αντικαταστήσετε και η δεύτερη είναι η συμβολοσειρά ή ο χαρακτήρας με τον οποίο θέλετε να την αντικαταστήσετε.
# 6) ισούται με τη μέθοδο
Όπως υποδηλώνει το όνομα, επικυρώνεται εάν ένα StringBuilder είναι ίσο με άλλα ή όχι. Αποδέχεται το StringBuilder ως παράμετρο και επιστρέφει μια τιμή Boolean με βάση την επιτευχθείσα συνθήκη ισότητας. Αυτή η μέθοδος είναι αρκετά χρήσιμη αν θέλετε να επικυρώσετε την κατάσταση ισότητας για δύο StringBuilders.
Παράδειγμα:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
Το αποτέλεσμα του παραπάνω προγράμματος θα είναι:
Ψευδής
Αληθής
Στο παραπάνω πρόγραμμα, το πρώτο και το τρίτο αντικείμενο StringBuilder είναι ίσο, δηλαδή έχουν την ίδια τιμή. Ως εκ τούτου, όταν εξισώσαμε πρώτα με το δεύτερο, επέστρεψε μια ψευδή τιμή, αλλά όταν εξισώσαμε το πρώτο και το τρίτο είναι ίσο, επέστρεψε αλήθεια.
συμπέρασμα
Η κλάση StringBuilder στο C # χρησιμοποιείται για τη βελτίωση της απόδοσης όπου εκτελούνται πολλές λειτουργίες σε μια συμβολοσειρά.
Όντας αμετάβλητο, κάθε φορά που μια συμβολοσειρά τροποποιείται δημιουργεί ένα άλλο αντικείμενο συμβολοσειράς στη μνήμη. Το StringBuilder στοχεύει να το μειώσει.
Επιτρέπει στον χρήστη να πραγματοποιήσει τροποποίηση στο ίδιο αντικείμενο εκχωρώντας δυναμική μνήμη. Αυτό σημαίνει ότι μπορεί να αυξήσει το μέγεθος της μνήμης εάν απαιτείται για να φιλοξενήσει περισσότερα δεδομένα.
=> Διαβάστε τον οδηγό C # για αρχάριους εδώ
Συνιστώμενη ανάγνωση
- C # String Tutorial - Μέθοδοι συμβολοσειράς με παραδείγματα κώδικα
- Τι είναι ο έλεγχος σύγκρισης (Μάθετε με παραδείγματα)
- C # Λειτουργίες / Μέθοδοι Εκμάθηση με παραδείγματα κώδικα
- Java Interface και Abstract Class Tutorial με παραδείγματα
- Νήματα Java με μεθόδους και κύκλο ζωής
- Λειτουργίες ημερομηνίας και ώρας σε C ++ με παραδείγματα
- Ταξινόμηση κελύφους σε C ++ με παραδείγματα
- Lambdas σε C ++ με παραδείγματα