C # Tutorial: Οι βασικές αρχές που χρειάζεστε για να μάθετε C #

Αυτό το άρθρο σχετικά με το C # Tutorial θα σας βοηθήσει με μια λεπτομερή γνώση για τα βασικά C # μαζί με παραδείγματα σε πραγματικό χρόνο για καλύτερη κατανόηση.

Το C # είναι για όλες τις χρήσεις και η στιβαρή γλώσσα προγραμματισμού που αναπτύχθηκε από τη Microsoft Corporation το 2000 ως θανατηφόρος ανταγωνιστής της Java. Είναι η πιο δημοφιλής και κυρίαρχη γλώσσα προγραμματισμού όσον αφορά τόσο την ανάπτυξη ιστού όσο και την ανάπτυξη εφαρμογών για επιτραπέζιους υπολογιστές.



Σε αυτό το C # Tutorial, θα μάθουμε τις ακόλουθες έννοιες.



Β # Βασικά

Εισαγωγή στη γλώσσα προγραμματισμού C #

Στις αρχές της δεκαετίας του '90, η Java ήταν η κορυφαία γλώσσα προγραμματισμού για ανάπτυξη ιστοσελίδων, ανάπτυξη εφαρμογών για επιτραπέζιους υπολογιστές και πολλά άλλα πεδία. Η Microsoft ήθελε να βρει έναν ανταγωνιστή με πολλές προηγμένες δυνατότητες που μπορεί να αφήσει την Java πολύ πίσω.



C#-Tutorial-hejlsberg_bio

Ήταν το 2000, Άντερς Χέιλσμπεργκ και η ομάδα του στο Microsoft βρήκε την ιδέα του C # που ονομάζεται C-Sharp. Αυτή η πρωτοβουλία εγκρίθηκε από τον Διεθνή Οργανισμό Προτύπων (ΜΕΙΖΩΝ) και η Ευρωπαϊκή Ένωση Κατασκευαστών Υπολογιστών (ECMA). και τέλος, το C # μπαίνει στον κόσμο της ανάπτυξης λογισμικού.

Χαρακτηριστικά της γλώσσας προγραμματισμού C #



  • Αντικειμενοστραφής γλώσσα προγραμματισμού

Η αντικειμενοστρεφής προσέγγιση προγραμματισμού είναι αυτή που κάνει το C # να είναι το πιο φιλικό στον προγραμματιστή και είναι εύκολο να αναπτυχθεί και να διατηρηθεί η γλώσσα προγραμματισμού.

  • Γλώσσα ασφαλής τύπου

Η έννοια του Type-Safe είναι ότι ο μεταγλωττιστής θα έχει πρόσβαση μόνο στη θέση μνήμης που έχει την άδεια εκτέλεσης. Αυτή η δυνατότητα βελτιώνει την ασφάλεια του κώδικα σε εκθετικό επίπεδο.

  • Διαλειτουργικότητα

Το χαρακτηριστικό της Διαλειτουργικότητας καθιστά το C # ικανό να κάνει ό, τι είναι εγγενές στο C ++ με πιο αποτελεσματικό τρόπο που μπορεί να ξεπεράσει το ίδιο το C ++.

  • Πλούσια βιβλιοθήκη

Το C # παρέχει πρόσβαση σε πολλούς αριθμούς ενσωματωμένων βιβλιοθηκών που παρέχουν προ-προγραμματισμένες λειτουργίες για τη μείωση του χρόνου που αφιερώνεται στη διαδικασία ανάπτυξης.

  • Επεκτάσιμη και ενημερωμένη

Το C # σχεδιάστηκε για να είναι ανώτερο μεταξύ των άλλων γλωσσών προγραμματισμού. Ως εκ τούτου, είναι πάντα ανοιχτό σε ενημερώσεις και διατηρείται εξαιρετικά επεκτάσιμο με τις δυνατότητές του.

  • Προσανατολισμός συστατικών

Οι προγραμματιστές της Microsoft χρησιμοποίησαν την προσέγγιση που βασίζεται σε στοιχεία για την ανάπτυξη του C #. Αυτή είναι η κυρίαρχη μεθοδολογία ανάπτυξης που διατηρεί το C # εξαιρετικά επεκτάσιμο και ενημερωμένο.

  • Δομημένη γλώσσα

Η προσέγγιση Δομημένου Προγραμματισμού προτιμάται κατά τη διάρκεια του κύκλου ζωής ανάπτυξης λογισμικού καθώς καθίσταται εύκολη η ανάπτυξη μεταγλώττισης και ανάπτυξης του λογισμικού σε σύγκριση με την προσέγγιση προγραμματισμού προσανατολισμένη στη διαδικασία.

  • Γρήγορα

Ο προγραμματισμός C # συμβαίνει να είναι ταχύτερος στη συλλογή και την εκτέλεση σε σύγκριση με το C ++ και άλλες γλώσσες προγραμματισμού.

Εγκατάσταση

Αποδεικνύεται ότι Microsoft Visual Studio είναι το καλύτερο πρόγραμμα επεξεργασίας τάξεων για προγραμματισμό C #. Θα εγκαταστήσουμε και θα ρυθμίσουμε το Microsoft Visual Studio για την εκτέλεση των προγραμμάτων C # ακολουθώντας τα παρακάτω βήματα:

Βήμα 1 : Λήψη του Microsoft Visual Studio

Google για το τελευταία έκδοση του Visual Studio και κατεβάστε το εγκαθιστώ αρχείο στο τοπικό σας σύστημα και στη συνέχεια τρέξιμο το αρχείο εγκατάστασης ως διαχειριστής.

Βήμα 2: Επιλέξτε το .NET Desktop Development Package

Μόλις εκτελέσετε το πρόγραμμα εγκατάστασης, το Visual Studio Editor θα ληφθεί με επιτυχία στο τοπικό σας σύστημα. Αργότερα θα εμφανιστεί ένα πλαίσιο διαλόγου στην οθόνη της επιφάνειας εργασίας σας ζητώντας συγκεκριμένο πακέτο χρειάζεστε στο σύστημά σας. Εδώ, πρέπει να επιλέξετε το Ανάπτυξη επιφάνειας εργασίας .NET πακέτο.

Βήμα 3: Ορίστε το C # Περιβάλλον

Μόλις τα πακέτα σας για Ανάπτυξη .NET κατεβάζονται και στη συνέχεια θα εμφανιστεί ένα άλλο πλαίσιο διαλόγου στην οθόνη σας ζητώντας το περιβάλλον ανάπτυξης που αναζητάτε. Εδώ, πρέπει να επιλέξτε το περιβάλλον για το C #.

Βήμα 4: Δημιουργήστε το πρώτο σας έργο

Μόλις ρυθμιστεί το περιβάλλον, είστε όλοι καλοί να πάτε. Ξεκινήστε το Visual Studio και επιλέξτε δημιουργήστε νέο έργο επιλογή στο πλαίσιο διαλόγου που εμφανίζεται.

Θα ανακατευθυνθείτε στο επόμενο πλαίσιο διαλόγου και εκεί πρέπει να επιλέξετε Βιβλιοθήκη κατηγορίας ως Πρότυπο .NET όπως φαίνεται παρακάτω.

Στο επόμενο πλαίσιο διαλόγου, θα σας ζητηθεί Διαμορφώστε το έργο σας . Διαμορφώστε το και είστε τώρα στο πρόγραμμα επεξεργασίας. Γράψτε το πρώτο σας πρόγραμμα και τρέξιμο το. Η έξοδος θα εμφανίζεται με επιτυχία στο Γραμμή εντολών.

χρησιμοποιώντας την κλάση συστήματος Edureka {static void Main (string [] args) {Console.WriteLine ('Welcome to Edureka !, Happy Learning ..!')}}

//Παραγωγή:

Ας εκτελέσουμε το πρώτο μας πρόγραμμα C #.

Δομή προγράμματος # #

Τώρα που έχουμε εκτελέσει το πρώτο μας πρόγραμμα C #, ας κατανοήσουμε λεπτομερώς τη δομή του. Ένα απλό πρόγραμμα C # έχει τα ακόλουθα μέρη.

χρησιμοποιώντας το System namespace ConsoleApplication1 {δημόσια τάξη Edureka {public static void Main (string [] args) {Console.WriteLine ('Welcome to Edureka !, Happy Learning ..!')}}}

//Παραγωγή:

Καλώς ήλθατε στο Edureka !, Happy Learning ..!

  • τάξη: τάξη μπορεί γενικά να οριστεί ως λέξη-κλειδί που χρησιμοποιείται για τον ορισμό μιας κλάσης στο πρόγραμμα C #.
  • Edureka: Είναι το όνομα του Τάξη. Η τάξη θεωρείται συχνά ως σχεδιάγραμμα που αποθηκεύει τα μέλη και τις μεθόδους που σχετίζονται με την τάξη.
  • Κύριος: Βασικά είναι το πρωτογενής μέθοδος ολόκληρου του προγράμματος C #, Λειτουργεί ως πύλη για τον έλεγχο του εισόδου στο πρόγραμμα. Εκτελείται πριν εκτελεστεί οποιαδήποτε άλλη μέθοδος του προγράμματος.
  • κενός: Αυτό το τμήμα του κώδικα έχει οριστεί στο τύπος επιστροφής της μεθόδου. Μπορεί να είναι οποιοσδήποτε τύπος δεδομένων εκτός από άκυρο. Άκυρο σημαίνει ότι η μέθοδος δεν επιστρέφει δεδομένα από αυτήν.
  • στατικός: Αυτό είναι ένα λέξη-κλειδί που λέει ότι τα μέλη των δεδομένων που δηλώνονται είναι στατικά και μια ειδική μνήμη εκχωρείται στα μέλη που δηλώθηκαν.
  • Ο String [] υποστηρίζει: Μοιάζει με τα επιχειρήματα της γραμμής εντολών που χρησιμοποιούμε στο πρόγραμμά μας. Ενώ εκτελούμε το πρόγραμμά μας, βασικά περνάμε μερικά επιχειρήματα, το οποίο θα γίνει αποδεκτό από το πρόγραμμα λόγω αυτής της δήλωσης.
  • System.Console.WriteLine ('Καλώς ήλθατε στο Edureka !, Happy Learning ..!') Εδώ, Σύστημα είναι το χώρος ονομάτων Η κονσόλαείναι αυτή η κατηγορία που περιγράφεταιστο χώρο ονομάτων συστήματος. ο Γραμμή Γραμμής () είναι ότι τοστατικόςτεχνικήτης κονσόλαςκατηγορία που χρησιμοποιείται για την καταγραφήτο κείμενο στην κονσόλα.

Τώρα, ας μάθουμε τους τύπους δεδομένων που διατίθενται στο C #.

Τύποι δεδομένων

Οι τύποι δεδομένων στο C # χωρίζονται σε τρεις κατηγορίες που περιγράφονται παρακάτω.

Τύποι δεδομένων τιμής

ο Τύποι δεδομένων τιμής βρίσκονται στο System.ValueType Η βιβλιοθήκη είναι πάντα έτοιμη για άμεση πρόσβαση και οι μεταβλητές μπορούν να αντιστοιχιστούν απευθείας σε μια συγκεκριμένη τιμή. Οι τύποι δεδομένων τιμής ταξινομούνται περαιτέρω σε δύο τύπους όπως φαίνεται παρακάτω:

  • Προκαθορισμένοι τύποι δεδομένων
  • Τύποι δεδομένων που καθορίζονται από το χρήστη

Προκαθορισμένοι τύποι δεδομένων: Αυτά είναι αυτά που συνήθως χρησιμοποιούμε στον καθημερινό προγραμματισμό μας. Αυτοί οι τύποι δεδομένων είναι προκαθορισμένοι από τους προγραμματιστές γλωσσών και παραμένουν έτοιμοι για χρήση για τους προγραμματιστές.

Παράδειγμα:

int, float, char, short double κ.λπ.

Τύποι δεδομένων που καθορίζονται από το χρήστη: Υπάρχουν καταστάσεις όπου ενδέχεται να χρειαστεί να αποθηκεύσουμε διαφορετικές τιμές από τους τύπους δεδομένων σε μία μόνο μεταβλητή. Σε αυτές τις περιπτώσεις, το Προκαθορισμένοι τύποι δεδομένων δεν είναι μόνο αρκετά. Ορισμένο από τον χρήστη Οι τύποι δεδομένων είναι σαν προσαρμόσιμοι τύποι δεδομένων για τον χρήστη.

Παράδειγμα: Δομή, Enum

Τύπος δεδομένων Εύρος της κατανομής μνήμης Μέγεθος μνήμης
υπογεγραμμένο char -128 έως 127 1 byte
χωρίς υπογραφή char 0 έως 127 1 byte
απανθρακώνω -128 έως 127 1 byte
υπογεγραμμένο σύντομο -32,768 έως 32,767 2 byte
χωρίς υπογραφή σύντομο 0 έως 65,535 2 byte
μικρός -32,768 έως 32,767 2 byte
υπογεγραμμένο int -2,147,483,648 έως -2,147,483,647 4 byte
χωρίς υπογραφή int 0 έως 4.294.967.295 4 byte
int -2,147,483,648 έως -2,147,483,647 4 byte
υπέγραψε πολύ -9.223.372.036.854.775.808 έως 9.223.372.036.854.775.807 8 byte
χωρίς υπογραφή πολύ 0 έως 18.446.744.073.709.551.615 8 byte
μακρύς -9.223.372.036.854.775.808 έως 9.223.372.036.854.775.807 8 byte
φλοτέρ 1,5 * 10-45 - 3,4 * 1038, (ακρίβεια 7 ψηφίων) 4 byte
διπλό 5.0 * 10-324 - 1.7 * 10308, (ακρίβεια 15 ψηφίων) 8 byte
δεκαδικός -7,9 * 10-28 - 7,9 * 1028, (ακρίβεια 28 ψηφίων) 16 bytes


Δείκτης δεδομένων δείκτη

Ο δείκτης τύπου είναι ένας απλός τύπος δεδομένων. Η λειτουργικότητά του είναι απολύτως παρόμοια με τους δείκτες στο C. Είναι σχεδιασμένα για να αποθηκεύουν τη διεύθυνση ενός άλλου δείκτη.

float * ptr

Τύποι δεδομένων αναφοράς

Το όνομα είναι αυτονόητο. ο Τύποι δεδομένων αναφοράς στην πραγματικότητα δεν αποθηκεύουν τις μεταβλητές, αντ 'αυτού, αποθηκεύουν την τιμή αναφοράς για τη συγκεκριμένη μεταβλητή. Με άλλα λόγια, αποθηκεύουν τη διεύθυνση της πραγματικής μεταβλητής.

Οι μεταβλητές αναφοράς ταξινομούνται σε τρεις διαφορετικούς τύπους όπως αναφέρονται παρακάτω:

  • Τύπος αντικειμένου

Ο τύπος δεδομένων αντικειμένου είναι διαθέσιμος στο Σύστημα. Αντικείμενο Τάξη.Το αντικείμενοτύποιμπορεί να είναιανατίθεται στοτιμές τουοι άλλοι τύποι,αναφοράτύποι, προκαθορισμένο, καθορισμένο από τον χρήστητύποι. Αλλά πρινΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣαξίες, απαιτεί τύπος μετατροπή.

αντικείμενο abc abc = 50 // αυτό ονομάζεται πυγμαχία
  • Δυναμικός τύπος

Οι μεταβλητές Dynamic Type έχουν σχεδιαστεί για να αποθηκεύουν σχεδόν όλους τους τύπους τιμών. Ονομάζεται Dynamic Type επειδή ο έλεγχος τύπου των τιμών πραγματοποιείται στο χρόνο εκτέλεσης

δυναμική x = 10
  • Τύπος συμβολοσειράς

Το String Type είναι διαθέσιμο σε System.String τάξη. Ο τύπος συμβολοσειράς έχει σχεδιαστεί για την αποθήκευση γραμματοσειρών. Τα String Literals αποθηκεύονται σε δύο μορφές σεδύο μορφές

    • αναφέρεται
    • @ παράθεση.
Χορδή S = 'Edureka'
  • ο @ παράθεση η κυριολεκτική χορδή μοιάζει
@ 'Εδεύρκα'

Τώρα ας καταλάβουμε τις μεταβλητές.

Μεταβλητές

Οι μεταβλητές είναι τα ονόματα που διατίθενται για τη θέση μνήμης που αποθηκεύουν ορισμένα δεδομένα που δίδονται από το χρήστη και ότι τα δεδομένα είναι εύκολα προσβάσιμα χρησιμοποιώντας το όνομα της μεταβλητής. Υπάρχουν πέντε τύποι μεταβλητών στο C #

Τύπος Παράδειγμα
Μηδενικό Μηδενικά δεδομένα
Boolean Σωστό και λάθος
Ακέραιος αριθμός Int, Char, Byte, Short, Long
Φλοτέρ Float και Double
Δεκαδικός Δεκαδικός

Παράδειγμα:

int a, b double x float p char abc

Κανόνες που πρέπει να ακολουθούνται για τη δήλωση μεταβλητών στο C #

  • Μια μεταβλητή μπορεί να περιλαμβάνει αλφάβητα, ψηφία και κάτω παύλες.
  • Ένα όνομα μεταβλητής μπορεί να ξεκινήσει μόνο με ένα αλφάβητο ή μια υπογράμμιση μόνο.
  • Οι μεταβλητές δεν μπορούν να ξεκινήσουν με ψηφίο ή ειδικό χαρακτήρα.
  • Δεν επιτρέπονται λευκά κενά ανάμεσα στο όνομα της μεταβλητής.
  • Οι δεσμευμένες λέξεις-κλειδιά δεν επιτρέπεται να χρησιμοποιούνται ως μεταβλητά ονόματα.

Χειριστές

Ένας χειριστής μπορεί να οριστεί ως ένα ειδικό σύμβολο που εξηγεί ότι ο υπολογιστής για να εκτελέσει ένα συγκεκριμένο μαθηματικό είναι μια λογική λειτουργία σε ένα σύνολο μεταβλητών. Το C # περιλαμβάνει μια ποικιλία χειριστών που αναφέρονται παρακάτω.

  • Αριθμητικοί χειριστές
  • Σχεσιακοί χειριστές
  • Λογικοί χειριστές
  • Τελεστές Bitwise
  • Χειριστές ανάθεσης

Αριθμητικοί χειριστές

Χειριστής Παράδειγμα Περιγραφή
+ Α + Β Προσθέτει δύο τελεστές
- Α - Β Αφαιρεί δύο τελεστές
* Α * Β Πολλαπλασιάζει δύο τελεστές
/ Α / Β Διαιρεί δύο λειτουργίες
% A% Β Το υπόλοιπο των δύο τελεστών
++ Α ++ Λειτουργία αύξησης
- ΠΡΟΣ ΤΟ- Λειτουργία μείωσης

Σχεσιακοί χειριστές

Χειριστής Παράδειγμα Περιγραφή
== Α == Β Είναι αλήθεια, αν και οι δύο τελεστές είναι ίσοι, Else False
! = Α! = Β Είναι αλήθεια, εάν και οι δύο τελεστές δεν είναι ίσοι, Else False
> Α> Β Είναι αλήθεια, αν το A είναι μεγαλύτερο, άλλο λάθος
< ΠΡΟΣ ΤΟ Είναι αλήθεια, αν το Β είναι μεγαλύτερο, αλλιώς λάθος
> = A> = Β Είναι αλήθεια, αν το Α είναι μεγαλύτερο ή ίσο, άλλο είναι λάθος
<= ΠΡΟΣ ΤΟ<= B Είναι αλήθεια ότι το id B είναι μεγαλύτερο ίσο, Else False

Λογικοί χειριστές

Χειριστής Παράδειγμα Περιγραφή
&& Α && Β Είναι αλήθεια, αν και οι δύο τελεστές είναι αληθείς, Else False
|| Α || σι Είναι αλήθεια, εάν ένας από τους τελεστές είναι αληθινός, Else False
! ΕΝΑ ! σι Αντιστρέφει τη λογική κατάσταση του τελεστή

Τελεστές Bitwise

ΠΡΟΣ ΤΟ σι Α & Β Α | σι Α ^ Β
ένας ένας ένας ένας 0
ένας 0 0 ένας ένας
0 ένας 0 ένας ένας
0 0 0 0 0
Χειριστής Παράδειγμα Περιγραφή
~ (~ Α) Ο Διαχειριστής Συμπληρώματος του Binary One είναι απρόσβλητος και έχει ως αποτέλεσμα την «ανατροπή» bit.
<< ΠΡΟΣ ΤΟ<<2 Χειριστής δυαδικής αλλαγής αριστεράς. Η τιμή των αριστερών τελεστών μετακινείται αριστερά από τον αριθμό των bit που καθορίζονται από το δεξί τελεστή.
>> Ένα >> 2 Binary Right Shift Operator. Η τιμή των αριστερών τελεστών μετακινείται δεξιά από τον αριθμό των bit που καθορίζονται από το δεξί τελεστή.

Χειριστές ανάθεσης

Χειριστής Παράδειγμα Περιγραφή
= Α = Β + Γ A = B + C, B + C αντιστοιχίζεται στο A
+ = Α + = Β A = A + B, A + B αντιστοιχίζεται στο A
- = Α - = Β A = A-B, A-B αντιστοιχεί στο A
* = Α - = Β A = A * B, A * B αντιστοιχίζεται στο A
/ = Α / = Β A = A / B, A / B αντιστοιχίζεται στο A
% = A% = Β A = A% B, A% B αντιστοιχίζεται στο A
<<= ΠΡΟΣ ΤΟ<<= 2 Αριστερός χειριστής αλλαγής και ανάθεσης
>> = A >> = 2 Διαχειριστής δεξιάς αλλαγής και ανάθεσης
& = Α & = 2 Bitwise και χειριστής ανάθεσης
^ = Α ^ = 2 Bitwise Exclusive and Assignment Operator
| = Α! = 2 Bitwise Inclusive και ανάθεση χειριστή

Βρόχοι

ΠΡΟΣ ΤΟ βρόχος Η δήλωση χρησιμοποιείται για την εκτέλεση ενός μπλοκ δηλώσεων επανειλημμένα μέχρι να ικανοποιηθεί μια συγκεκριμένη συνθήκη Η γλώσσα C # αποτελείται από τις ακόλουθες δηλώσεις βρόχου.

  • Για βρόχο
  • Ενώ βρόχος
  • Κάνετε ενώ κάνετε βρόχο

Για βρόχο

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

Σύνταξη

για (αύξηση κατάστασης αρχικοποίησης / μείωση) {// τμήμα τμήματος}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας σύστημα δημόσιας κλάσης ForExample {public static void Main (string [] args) {for (int i = 1 i<= 5 i++) { Console.WriteLine(i) } } } 

//Παραγωγή:

ένας
2
3
4
5

Ενώ βρόχος

ο Ενώ βρόχος χρησιμοποιείται για την εκτέλεση ενός τμήματος κώδικα για πολλές φορές έως ότου ικανοποιηθεί μια συγκεκριμένη συνθήκη.

Σύνταξη

ενώ (συνθήκη) {// κωδικός προς εκτέλεση}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας το σύστημα Ονόματα χώρου Loops {class Program {static void Main (string [] args) {int x = 5 ενώ (x<= 10) { Console.WriteLine('The value of a: {0}', x) x++ } Console.ReadLine() } } } 

//Παραγωγή:

Η τιμή του: 5
Η τιμή του: 6
Η τιμή του: 7
Η τιμή του: 8
Η τιμή του: 9
Η τιμή του: 10

Κάνετε ενώ κάνετε βρόχο

Το Do while loop είναι απολύτως παρόμοιο με το While Loop, αλλά η μόνη διαφορά είναι ότι η συνθήκη τοποθετείται στο τέλος του βρόχου. Ως εκ τούτου, ο βρόχος εκτελείται τουλάχιστον για μία φορά.

Σύνταξη

{// κωδικός προς εκτέλεση} ενώ (συνθήκη)

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος Edureka {class DoWhileLoop {public static void Main (string [] args) {int i = 1, n = 5, product do {product = n * i Console.WriteLine ('{0} * {1} = { 2} ', n, i, product) i ++} ενώ (i<= 10) } } } 

//Παραγωγή:

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

Υποθετικός

Δηλώσεις υπό όρους χρησιμοποιούνται για την εκτέλεση δήλωση ή ομάδα δηλώσεις με βάση κάποια κατάσταση. Εάν το κατάσταση είναι αλήθεια τότε Δηλώσεις C # εκτελούνται διαφορετικά το επόμενο δήλωση θα εκτελεστεί.

Διαφορετικοί τύποι δηλώσεων υπό όρους στη γλώσσα C ++ είναι οι εξής:

  1. Εάν δήλωση
  2. Δήλωση If-Else
  3. Ένθετη δήλωση If-else
  4. If-Else If σκάλα
  5. Αλλαγή δήλωσης

Εάν δήλωση

Το μονό αν Η δήλωση στη γλώσσα C # χρησιμοποιείται για την εκτέλεση του κώδικα εάν μια συνθήκη είναι αληθής. Ονομάζεται επίσης μονόδρομη δήλωση επιλογής.

Σύνταξη

if (boolean-expression) {// δηλώσεις που εκτελούνται εάν η boolean-expression είναι αληθής}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας Σύστημα ονομάτων χώρου υπό όρους {class IfStatement {public static void Main (string [] args) {int number = 2 if (number<5) { Console.WriteLine('{0} is less than 5', number) } Console.WriteLine('This statement is always executed.') } } } 

//Παραγωγή:

Το 2 είναι μικρότερο από 5
Αυτή η δήλωση εκτελείται πάντα.

Δήλωση If-Else

ο αν-αλλιώς Η δήλωση στη γλώσσα C χρησιμοποιείται για την εκτέλεση του κώδικα εάν η συνθήκη είναι αληθής ή ψευδής. Ονομάζεται επίσης αμφίδρομη δήλωση επιλογής.

Σύνταξη

if (boolean-expression) {// δηλώσεις που εκτελούνται εάν η boolean-expression είναι αληθής} αλλιώς {// δηλώσεις που εκτελούνται εάν η boolean-expression είναι ψευδής}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας Σύστημα ονομάτων χώρου Υπό όρους {class IfElseStatement {public static void Main (string [] args) {int number = 12 if (number<5) { Console.WriteLine('{0} is less than 5', number) } else { Console.WriteLine('{0} is greater than or equal to 5', number) } Console.WriteLine('This statement is always executed.') } } } 

//Παραγωγή:

Το 12 είναι μεγαλύτερο ή ίσο με 5
Αυτή η δήλωση εκτελείται πάντα.

Ένθετη δήλωση If-else

Το ένθετο αν-αλλιώς Η δήλωση χρησιμοποιείται όταν ένα πρόγραμμα απαιτεί περισσότερες από μία δοκιμαστικές εκφράσεις. Ονομάζεται επίσης μια δήλωση επιλογής πολλαπλών κατευθύνσεων. Όταν μια σειρά της απόφασης εμπλέκεται σε μια δήλωση, χρησιμοποιούμε αν-αλλιώς δήλωση σε ένθετη μορφή.

Σύνταξη

if (boolean-expression) {if (ένθετο-έκφραση-1) {// κώδικας προς εκτέλεση} άλλος {// κώδικας προς εκτέλεση}} άλλος {εάν (ένθετος-έκφραση-2) {// κωδικός προς εκτέλεση } αλλιώς {// κωδικός προς εκτέλεση}}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρήση χώρου ονομάτων συστήματος υπό όρους {class Nested {public static void Main (string [] args) {int first = 7, second = -23, third = 13 if (first & gt second) {if (πρώτο

//Παραγωγή:

Το 13 είναι το μεγαλύτερο

Αλλιώς αν Σκάλα

ο αν-αλλιώς-εάν Η δήλωση χρησιμοποιείται για την εκτέλεση ενός κώδικα από πολλές συνθήκες. Ονομάζεται επίσης δήλωση απόφασης πολλαπλών διαδρομών. Είναι μια αλυσίδα δηλώσεων if..else στις οποίες κάθε αν η δήλωση σχετίζεται με άλλη αν η δήλωση και η τελευταία θα ήταν μια άλλη δήλωση.

Σύνταξη

εάν (συνθήκη1) {// κωδικός που θα εκτελεστεί εάν η συνθήκη1 είναι αληθής} αλλιώς εάν (συνθήκη2) {// κωδικός που θα εκτελεστεί εάν η συνθήκη2 είναι αληθής} αλλιώς εάν (συνθήκη3) {// κωδικός που θα εκτελεστεί εάν η συνθήκη3 είναι αληθής} ... αλλιώς {// κωδικός που θα εκτελεστεί εάν όλες οι συνθήκες είναι ψευδείς}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας κλάση συστήματος Edureka {public static void Main (String [] args) {int i = 20 if (i == 10) Console.WriteLine ('i is 10') other if (i == 15) Console.WriteLine (' i is 15 ') other if (i == 20) Console.WriteLine (' i is 20 ') other Console.WriteLine (' i is not present ')}}

//Παραγωγή:

είμαι 20

Αλλαγή δήλωσης

Διακόπτης Η δήλωση ενεργεί ως υποκατάστατο μιας μεγάλης κλίμακας if-else-if σκάλα που χρησιμοποιείται για τον έλεγχο μιας λίστας περιπτώσεων. Μια δήλωση διακόπτη περιέχει μία ή περισσότερες ετικέτες πεζών που δοκιμάζονται έναντι της έκφρασης του διακόπτη. Όταν η έκφραση ταιριάζει με μια υπόθεση τότε οι σχετικές δηλώσεις με αυτήν την περίπτωση θα εκτελεστούν.

Σύνταξη

διακόπτης (μεταβλητή / έκφραση) {case case1: // Εκθέσεις που εκτελούνται εάν η έκφραση (ή μεταβλητή) = value1 break case value2: // Εκθέσεις που εκτελούνται εάν η έκφραση (ή μεταβλητή) = value1 break ... ... ... .. . ... ... προεπιλογή: // Οι δηλώσεις εκτελούνται αν δεν υπάρχει περίπτωση που να ταιριάζει}

ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ:

Παράδειγμα:

χρησιμοποιώντας το Σύστημα ονομάτων χώρου υπό όρους {class SwitchCase {public static void Main (string [] args) {char ch Console.WriteLine ('Enter a alphabet') ch = Convert.ToChar (Console.ReadLine ()) switch (Char.ToLower (ch )) {case 'a': Console.WriteLine ('Vowel') break case 'e': Console.WriteLine ('Vowel') break case 'i': Console.WriteLine ('Vowel') break case 'o': Console.WriteLine ('Vowel') break case 'u': Console.WriteLine ('Vowel') break default: Console.WriteLine ('Not a vowel') break}}}}

//Παραγωγή:

Εισαγάγετε ένα αλφάβητο
είναι
Φωνήεν

Χορδές

Σειρά Το Datatype είναι μέλος του System.String Τάξη. Είναι ικανό να αποθηκεύσει τύπο χαρακτήρα δεδομένων. Μπορούμε να εκτελέσουμε διάφορες λειτουργίες σε Stings όπωςσυνένωση, σύγκριση, λήψη substring, αναζήτηση, περικοπή, αντικατάσταση και πολλά άλλα.

Η αναλογία του String και του string

Σε C # Σειρά και σειρά είναι ισοδύναμα. Η συμβολοσειρά λέξεων είναι α λέξη-κλειδί και ενεργεί ως το System.String τάξη. Μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις εκδόσεις για να δηλώσουμε συμβολοσειρές.

Σύνταξη:

string s1 = 'Edureka' // δημιουργία συμβολοσειράς χρησιμοποιώντας λέξη-κλειδί συμβολοσειράς String s2 = 'Happy Learning' // δημιουργία συμβολοσειράς χρησιμοποιώντας κλάση συμβολοσειρών

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας κλάσης StringExample {public static void Main (string [] args) {string s1 = 'Edureka' char [] ch = {'C', 's', 'h', 'a', 'r', ' p ',' ',' T ',' u ',' t ',' o ',' r ',' i ',' a ',' l '} string s2 = new string (ch) Console.WriteLine ( s1) Console.WriteLine (s2)}}

//Παραγωγή:

Έντρεκα
Εκμάθηση Csharp

Μέθοδοι συμβολοσειράς σε C #

Μέθοδος Περιγραφή
Κλώνος () Χρησιμοποιήθηκε για να επιστρέψει μια αναφορά σε αυτήν την παρουσία του String.
Σύγκριση (String, String) Χρησιμοποιείται για τη σύγκριση δύο καθορισμένων αντικειμένων συμβολοσειράς.
Concat (String, String) Συνδυάστε δύο καθορισμένες παρουσίες του String.
Περιέχει (String) Επιστρέψτε μια τιμή που δείχνει μια καθορισμένη δευτερεύουσα συμβολοσειρά
Αντιγραφή (συμβολοσειρά) Χρησιμοποιείται για τη δημιουργία μιας νέας παρουσίας συμβολοσειράς με την ίδια τιμή
CopyTo (Int, Char [], Int, Int) Αντιγράφει χαρακτήρες από μια καθορισμένη θέση
Ισούται (String, String) Καθορίζει ότι δύο αντικείμενα συμβολοσειράς έχουν την ίδια τιμή.
Μορφή (συμβολοσειρά, αντικείμενο) Αντικαταστήστε ένα ή περισσότερα στοιχεία μορφής σε μια καθορισμένη συμβολοσειρά
IndexOf (συμβολοσειρά) Αναφέρει το μηδενικό ευρετήριο της πρώτης εμφάνισης
Εισαγωγή (Int32, String) Επιστρέφει μια νέα συμβολοσειρά στην οποία μια συμβολοσειρά εισάγεται σε ένα ευρετήριο.
IsInterned (Συμβολοσειρά) Δηλώνει ότι αυτή η συμβολοσειρά βρίσκεται σε μορφή κανονικοποίησης Unicode C.
IsNullOrEmpty (συμβολοσειρά) Υποδεικνύει ότι η καθορισμένη συμβολοσειρά είναι μηδενική ή κενή συμβολοσειρά.
IsNullOrWhiteSpace (συμβολοσειρά) Χρησιμοποιείται για να δείξει εάν μια καθορισμένη συμβολοσειρά είναι μηδενική, κενή,
Συμμετοχή (String, String []) Χρησιμοποιείται για τη συνένωση όλων των στοιχείων ενός πίνακα συμβολοσειρών
LastIndexOf (Char) Αναφέρει τη θέση ευρετηρίου μηδενικού του τελευταίου χαρακτήρα
LastIndexOfAny (Char [])) Αναφέρει τη θέση ευρετηρίου μηδενικού του τελευταίου χαρακτήρα
Κατάργηση (Int32) Επιστρέφει μια νέα συμβολοσειρά στην οποία όλοι οι χαρακτήρες
Αντικατάσταση (String, String) Επιστρέφει μια νέα συμβολοσειρά στην οποία όλες οι εμφανίσεις μιας συμβολοσειράς
Σπλιτ (Char []) Χρησιμοποιείται για να χωρίσει μια συμβολοσειρά σε υποστρώματα
Έναρξη με (String) Χρησιμοποιείται για να ελέγξει αν η αρχή αυτής της συμβολοσειράς
Υποστρώματα (Int32) Χρησιμοποιείται για την ανάκτηση ενός substring από αυτήν την παρουσία.
ToCharArray () Αντιγράφει τους χαρακτήρες σε αυτήν την παρουσία σε έναν πίνακα Unicode.
ToString () Χρησιμοποιείται για την επιστροφή της παρουσίας του String.
Τακτοποίηση() Περικοπεί τη συμβολοσειρά


Πίνακες

Όπως και σε άλλες γλώσσες προγραμματισμού, το C # έχει πίνακες. Οι πίνακες είναι οι απλές δομές δεδομένων που έχουν σχεδιαστεί για να αποθηκεύουν τον ίδιο τύπο δεδομένων στοιχείων σε μια γειτονική θέση μνήμης.

Το C # υποστηρίζει τους ακόλουθους τύπους συστοιχιών.

  • Μονοδιάστατη συστοιχία
  • Πολυδιάστατη σειρά
  • Jagged Array

Μονοδιάστατη συστοιχία

Το Single Dimensional Array αποθηκεύει στοιχεία με τη μορφή μιας μόνο σειράς.

Σύνταξη

int [] arr = νέο int [5] // δημιουργία πίνακα

Παράδειγμα:

χρησιμοποιώντας σύστημα δημόσιας τάξης ArrayExample {public static void Main (string [] args) {int [] arr = new int [5] arr [0] = 10 arr [1] = 20 arr [2] = 30 arr [3] = 40 arr [4] = 50 για (int i = 0 i 

//Παραγωγή:

10
είκοσι
30
40
πενήντα

Πολυδιάστατη σειρά

Το Multidimensional Array αποθηκεύει στοιχεία με τη μορφή πολλαπλών διαστάσεων, όπως ένας πίνακας και ένας κύβος κ.λπ.

Σύνταξη

int val = α [2,3]

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος ArrayApplication {class MyArray {static void Main (string [] args) {int [,] a = new int [5, 2] {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}} int i, j για (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0},{1}] = {2}', i, j, a[i, j]) } } Console.ReadKey() } } } 

//Παραγωγή:

a [0,0] = 0
a [0,1] = 0
a [1,0] = 1
a [1,1] = 2
a [2,0] = 2
a [2,1] = 4
a [3,0] = 3
a [3,1] = 6
a [4,0] = 4
a [4,1] = 8

Jagged Array

Το Jagged Array είναι απλά μια σειρά από πίνακες.

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος ArrayApplication {class MyArray {static void Main (string [] args) {int [] [] a = new int [] [] {new int [] {0,0}, new int [] {1,2 }, νέο int [] {2,4}, νέο int [] {3, 6}, νέο int [] {4, 8}} int i, j για (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0}][{1}] = {2}', i, j, a[i][j]) } } Console.ReadKey() } } } 

//Παραγωγή:

a [0] [0] = 0
a [0] [1] = 0
a [1] [0] = 1
a [1] [1] = 2
a [2] [0] = 2
a [2] [1] = 4
a [3] [0] = 3
a [3] [1] = 6
a [4] [0] = 4
a [4] [1] = 8

Συλλογές

Η συλλογή μπορεί απλά να θεωρηθεί ως ομάδα αντικειμένων που συλλέγονται μαζί, έτσι ώστε να εφαρμόζονται ορισμένες λειτουργίες στα δεδομένα που συλλέγονται. Οι λειτουργίες που κάποτε εκτελούν πιθανώς σε μια συλλογή είναι,

  • αντικείμενο αποθήκευσης
  • αντικείμενο ενημέρωσης
  • διαγραφή αντικειμένου
  • ανάκτηση αντικειμένου
  • αντικείμενο αναζήτησης, και
  • είδος ταξινόμησης

Τύποι Συλλογών

Υπάρχουν τρεις διαφορετικές δυνατότητες εργασίας με συλλογές. Οι τρεις χώροι ονομάτων αναφέρονται παρακάτω:

  • Σύστημα. Συλλογές. Γενικό τάξεις
  • Σύστημα. Συλλογές τάξεις
  • System.Collections.Currurrent τάξεις

Η κλάση System.Collections.Generic έχει τις ακόλουθες ποικιλίες τάξεων:

  • Λίστα
  • Σωρός
  • Ουρά
  • Συνδεδεμένη λίστα
  • HashSet
  • Ταξινόμηση
  • Λεξικό
  • Ταξινόμηση
  • Ταξινόμηση λίστας

ο Σύστημα. Συλλογές μαθήματα θεωρούνται ως μαθήματα παλαιού τύπου. Περιλαμβάνουν τις ακόλουθες τάξεις.

  • Λίστα Array
  • Σωρός
  • Ουρά
  • Hashtable

ο System.Collections.Currurrent τάξειςnamespace παρέχει κλάσεις για λειτουργίες ασφαλείς για νήματα. Τώρα πολλά νήματα δεν θα δημιουργήσουν πρόβλημα πρόσβασης στα στοιχεία συλλογής. τα μαθήματα που διατίθενται σε αυτό είναι,

  • Αποκλεισμός συλλογής
  • Ταυτόχρονη τσάντα
  • Ταυτόχρονη στοίβα
  • Ταυτόχρονη ουρά
  • Ταυτόχρονη έκδοση
  • Χωρίσματα
  • Χωρίσματα
  • Παραγγελόμενος διαμεριστής

Λίστα

ο λίστα θεωρείται ως δομή δεδομένων διαθέσιμη στο System.Collection.Generics χώρος ονομάτων Μπορεί να αποθηκεύσει και να πάρει στοιχεία. Η λίστα μπορεί να αποθηκεύσει διπλά στοιχεία.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new names () names.Add ('Sandhya') names.Add ('Arun') names.Add ( 'Prashanth') ονόματα. Προσθέστε ('Kiran') foreach (var name in names) {Console.WriteLine (name)}}}

//Παραγωγή:

Σάντια
Άρουν
Πρασάνθ
Κιράν

Σετ Hash

C # HashSetη κατηγορία είναι συχνά συνηθισμένηκατάστημα,Πάρε μακριάήδιαβάστε στοιχεία. Τοόχιαποθήκευση διπλότυπουσυστατικά.προτρέπεταιχρησιμοποιώ HashSet κατηγορίαανέχετενα αποθηκεύσωμόνο διακριτικός συστατικά . του βρέθηκε στο System.Collections.Generic namespace.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new HashSet () names.Add ('Sunil') names.Add ('Amar') names.Add ( Ονομασίες «Pujari»). Προσθήκη ονομάτων («Imran»). Προσθήκη («karan») foreach (όνομα var στα ονόματα) {Console.WriteLine (name)}}}

//Παραγωγή:

Σανίλ
Άμαρ
Πουτζάρι
Imran
ΚΑΡΑΝ

Ταξινομημένο σετ

C # Ταξινόμησητάξη είναι συχνά συνηθισμένακατάστημα, αφαιρώ ή ανάγνωση στοιχεία . Διατηρεί αύξουσα σειρά καιόχιαποθήκευση διπλότυπουστοιχεία.είναι προτροπήγια να χρησιμοποιήσετε το SortedSetκατηγορίαανέχετενα αποθηκεύσω διακριτικός συστατικά και διατηρήστε αύξουσα τάξη.τουβρέθηκε στο System.Collections.Generic namespace.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new SortedSet () names.Add ('Sanjay') names.Add ('Anuradha') names.Add ( 'Praveen') ονόματα. Προσθήκη ('Ravi') ονόματα. Προσθήκη ('Kajol') foreach (όνομα var στα ονόματα) {Console.WriteLine (όνομα)}}}

//Παραγωγή:

Ανουράντα
Κάτζολ
Πρέβεεν
Ράβι
Σαντζάι

Σωρός

ο σωρός είναι μια απλή συλλογή που ακολουθεί ΑΚΡΗ ή πρώτα στην τελευταία διαδικασία κατά την επεξεργασία των στοιχείων που είναι αποθηκευμένα σε αυτήν.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {Stack names = new Stack () names.Push ('Chandan') names.Push ('Pooja') names.Push ( Όνομα «James». Όνομα push («Rajesh»). Push («kumar») foreach (όνομα συμβολοσειράς σε ονόματα) {Console.WriteLine (name)} Console.WriteLine («Peek element:» + names.Peek () ) Console.WriteLine ('Pop:' + names.Pop ()) Console.WriteLine ('After Pop, Peek element:' + names.Peek ())}}

//Παραγωγή:

κουμάρ
Ρατζές
Τζέιμς
Πούγια
Τσαντάν
Κοιτάξτε το στοιχείο: kumar
Ποπ: κουμάρ
After Pop, Peek element: Rajesh

Ουρά

Η ουρά είναι εντελώς παρόμοια με το Stack, αλλά η μόνη διαφορά είναι ότι ακολουθεί η ουρά FIFO ή αρχή in in and first out κατά την επεξεργασία των στοιχείων που είναι αποθηκευμένα σε αυτήν.

Παράδειγμα:

χρησιμοποιώντας Σύστημα χρησιμοποιώντας System.Collections.Generic public class Edureka {public static void Main (string [] args) {Queue names = new Queue () names.Enqueue ('Srujan') names.Enqueue ('Prajat') names.Enqueue ( Ονόματα «John». Enqueue («Raju»). Enqueue («Hari») foreach (όνομα συμβολοσειράς σε ονόματα) {Console.WriteLine (name)} Console.WriteLine («Peek element:» + names.Peek () ) Console.WriteLine ('Dequeue:' + names.Dequeue ()) Console.WriteLine ('After Dequeue, Peek element:' + names.Peek ())}}

//Παραγωγή:

Σρουτζάν
Prajat
Γιάννης
Αγριος
Ημέρα
Κοιτάξτε το στοιχείο: Srujan
Dequeue: Srujan
After Dequeue, Peek element: Prajat

Συνδεδεμένη λίστα

Η συνδεδεμένη λίστα είναι μια δυναμική συλλογή μνήμης. Τα στοιχεία στη λίστα Συνδέονται αποθηκεύονται με πρόσβαση στη μνήμη από το σωρό και αποθήκευση των στοιχείων σε συνεχή σειρά, συνδέοντας τις διευθύνσεις τους.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new LinkedList () names.AddLast ('Rajat') names.AddLast ('Arun') names.AddLast ( Ονομασίες «Prakash»). ΟνόματαAddLast («jay») .AddFirst («sai») foreach (var name in names) {Console.WriteLine (name)}}}

//Παραγωγή:

Σάι
Όρια
Άρουν
Πρακάς
κίσσα

Λεξικό

Λεξικό κατηγορίαχρησιμοποιεί τοιδέατου hashtable. Αποθηκεύει τιμέςη εγκατάστασητου κλειδιού. Περιέχειδιακριτικόςκλειδιάμόνο. Μεη βοήθειατου κλειδιού,απλάαναζήτηση ήαφαιρέστε στοιχεία.τουβρέθηκε στο System.Collections.Generic namespace.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {ονόματα λεξικού = νέα ονόματα λεξικού (). Προσθήκη ονομάτων ('1', 'Shiva'). Προσθήκη ('2', 'Prasad') ονόματα. Προσθήκη ('3', 'Preetam') ονόματα. Προσθήκη ('4', 'Roy') ονόματα. Προσθήκη ('5', 'Akash') foreach (KeyValuePair kv in names) {Console. Γραμμή Γραμμής (kv.Key + '+ kv.Value)}}}

//Παραγωγή:

1 Σίβα
2 Prasad
3 Preetam
4 Roy
5Ακάς

Ταξινομημένο λεξικό

ο Ταξινόμηση κατηγορίαχρησιμοποιεί τοσχέδιοτου hashtable. Αποθηκεύει τιμέςΗ ιδέατου κλειδιού. Περιέχειδιακριτικόςπλήκτρα και διατηρεί την αύξουσα σειράΗ ιδέατου κλειδιού. Μεη βοήθειατου κλειδιού,απλάαναζήτηση ήαφαιρέστε στοιχεία.τουβρέθηκε στο System.Collections.Generic namespace.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') names.Add ('4', Όνομα 'Vishal'. Προσθέστε ονόματα ('5', 'Ramesh'). Προσθέστε ονόματα ('3', 'Vidya'). Προσθέστε ('2', 'Pallavi') foreach (KeyValuePair kv σε ονόματα) {Κονσόλα. Γραμμή Γραμμής (kv.Key + '+ kv.Value)}}}

//Παραγωγή:

1 Σίβα
2 Prasad
3 Preetam
4 Roy
5Ακάς

Ταξινομημένη λίστα

ο Ταξινόμηση λίστας είναιέναπίνακας ζευγών κλειδιών / τιμών. Αποθηκεύει τιμέςη εγκατάστασητου κλειδιού. Η λίστα ταξινόμησηςκατηγορίαπεριέχειδιακριτικόςπλήκτρα και διατηρεί την αύξουσα σειράη εγκατάστασητου κλειδιού. Μεη βοήθειατου κλειδιού,είμαστε σε θέση απλάαναζήτηση ή κατάργησηστοιχεία.τουβρέθηκε στο Σύστημα. Συλλογές. Γενικό χώρος ονομάτων

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Collections.Generic public class Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') names.Add ('4', Όνομα 'Vishal'. Προσθέστε ονόματα ('5', 'Ramesh'). Προσθέστε ονόματα ('3', 'Vidya'). Προσθέστε ('2', 'Pallavi') foreach (KeyValuePair kv σε ονόματα) {Κονσόλα. Γραμμή Γραμμής (kv.Key + '+ kv.Value)}}}

//Παραγωγή:

1 Arun
2 Παλλάβη
3 Βίντια
4 Vishal
5Ραμές

Δομή

Η δομή είναι ένας καθορισμένος από τον χρήστη τύπος δεδομένων που έχει σχεδιαστεί για να αποθηκεύει πολλά στοιχεία του διαφορετικού τύπου δεδομένων. Η δομή δηλώνεται χρησιμοποιώντας τη λέξη-κλειδί δομ.

Παράδειγμα:

χρησιμοποιώντας βιβλία δομής συστήματος {public string title public string author public string subject public int book_id} δημόσια τάξη Edureka {public static void Main (string [] args) {Books Book1 Books Book2 Book1.title = 'C # Programming' Book1.author = ' Ramchandra Kumar 'Book1.subject =' C ++ Programming Tutorial 'Book1.book_id = 95908978 Book2.title =' Telecom Billing 'Book2.author =' Karan 'Book2.subject =' Telecom Billing Tutorial 'Book2.book_id = 18674900 Κονσόλα.WriteLine ( «Τίτλος βιβλίου 1: {0}», Book1.title) Console.WriteLine («Book 1 Author: {0}», Book1.author) Console.WriteLine («Θέμα βιβλίου 1: {0}», Book1.subject) Console.WriteLine ('Book 1 book_id: {0}', Book1.book_id) Console.WriteLine ('Book 2 title: {0}', Book2.title) Console.WriteLine ('Βιβλίο 2 Συγγραφέας: {0}', Book2.author) Console.WriteLine («Θέμα βιβλίου 2: {0}», Book2.subject) Κονσόλα.WriteLine («Book 2 book_id: {0}», Book2.book_id) Console.ReadKey ()}}

//Παραγωγή:

Τίτλος βιβλίου 1: Προγραμματισμός C #
Βιβλίο 1 Συγγραφέας: Ramchandra Kumar
Θέμα βιβλίου 1: Εκμάθηση προγραμματισμού C ++
Βιβλίο 1 book_id: 95908978
Τίτλος βιβλίου 2: Χρέωση τηλεπικοινωνιών
Βιβλίο 2 Συγγραφέας: Karan
Θέμα βιβλίου 2: Οδηγός χρέωσης τηλεπικοινωνιών
Βιβλίο 2 book_id: 18674900

Λειτουργίες

Η συνάρτηση ορίζεται ως ένα μπλοκ κώδικα του κύριου κώδικα. Η συνάρτηση χρησιμοποιείται για την εκτέλεση δηλώσεων που καθορίζονται στο μπλοκ κώδικα. Μια συνάρτηση αποτελείται από τα ακόλουθα στοιχεία.

  • Όνομα λειτουργίας: Είναι ένα διακριτικό όνομα που χρησιμοποιείται για την πραγματοποίηση μιας κλήσης λειτουργίας.
  • Τύπος επιστροφής: Καθορίζει τον τύπο δεδομένων της τιμής επιστροφής λειτουργίας.
  • Σώμα: Περιέχει εκτελέσιμες δηλώσεις.
  • Προσδιοριστής πρόσβασης: Προσδιορίζει την προσβασιμότητα σε λειτουργία στην εφαρμογή.
  • Παράμετροι: Είναι μια λίστα με τα επιχειρήματα που μπορούμε να περάσουμε στη λειτουργία κατά τη διάρκεια της κλήσης.

Σύνταξη

FunctionName () {// function body // return statement}

Παράδειγμα:

χρησιμοποιώντας το σύστημα namespace FunctionExample {class Edureka {public string Show (string message) {Console.WriteLine ('Inside Show Function') return message} static void Main (string [] args) {Edureka program = new Edureka () string message = πρόγραμμα .Show ('To Edureka') Κονσόλα.WriteLine ('Welcome' + message)}}}

//Παραγωγή:

Λειτουργία Inside Show
Καλώς ήλθατε στην Edureka

Οι λειτουργίες μπορούν να εκτελεστούν με 3 διαφορετικούς τρόπους:

διαφορά μεταξύ css και css3
  • Κλήση ανά αξία
  • Κλήση με αναφορά
  • Έξω παράμετρος

Κλήση ανά αξία

Στο C #, αξία -τύπος Παράμετροιείναιαυτό το πέρασμαένα αντίγραφοαρχικής αξίας στολειτουργία αντί γιααναφορά. Τοόχιτροποποιώη πρώτη τιμή. Εναδημιουργήθηκε τροπολογίασε πέρασεη τιμή δεν είναιΗλικίαη συγκεκριμένη τιμή.μέσα στοτο ακόλουθο παράδειγμα,έχουμεπέρασμααξία σε όληοκλήση.

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος CallByValue {class Edureka {public void Show (int val) {val * = val Console.WriteLine ('The value inside the show function' + val)} static void Main (string [] args) {int val = 50 Πρόγραμμα Edureka = νέο πρόγραμμα Edureka () Console.WriteLine («Value before calling the function» + val). Show (val) Console.WriteLine («Value after calling the function» + val)}}}

//Παραγωγή:

Τιμή πριν καλέσετε τη συνάρτηση 50
Η τιμή μέσα στη συνάρτηση εκπομπής 2500
Τιμή μετά την κλήση της συνάρτησης 50

Κλήση με αναφορά

Στη μέθοδο Call by Reference,προς το αναφ λέξη-κλειδί για να περάσει το όρισμα ως τύπος αναφοράς. Μεταβιβάζει την αναφορά ορισμάτων στη συνάρτηση αντί για αντίγραφο της αρχικής τιμής. Οι αλλαγές στις τιμές που έχουν περάσει είναι μόνιμες και τροποποιώ την αρχική μεταβλητή τιμή.

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος CallByReference {class Edureka {public void Show (ref int val) {val * = val Console.WriteLine ('The value in the show function' + val)} static void Main (string [] args) {int val = 50 πρόγραμμα Edureka = νέο πρόγραμμα Edureka () Console.WriteLine («Value before calling the function» + val). Show (ref val) Console.WriteLine («Value after calling the function» + val)}}}

//Παραγωγή:

Τιμή πριν καλέσετε τη συνάρτηση 50
Η τιμή μέσα στη συνάρτηση εκπομπής 2500
Τιμή μετά την κλήση της συνάρτησης 2500

Έξω παράμετρος

Η παράμετρος εξόδουπαρέχει έξω λέξη-κλειδί για να περάσει ορίσματα ως εκτός τύπου. Είναι σαν τύπος αναφοράς, εκτός του ότι δεν απαιτεί την αρχικοποίηση της μεταβλητής πριν περάσει. Πρέπει να χρησιμοποιήσουμε έξω λέξη-κλειδί για να περάσει το όρισμα ως εκτός τύπου. Είναι χρήσιμο όταν θέλουμε μια συνάρτηση να επιστρέφει πολλές τιμές.

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος OutParameter {class Edureka {public void Show (out int val) {int square = 5 val = square val * = val} static void Main (string [] args) {int val = 50 πρόγραμμα Edureka = νέο Edureka () Πρόγραμμα Console.WriteLine ('Value before pass out variabel' + val). Show (out val) Console.WriteLine ('Value μετά την παραλαβή της μεταβλητής εκτός' + val)}}}

//Παραγωγή:

Τιμή πριν περάσει η μεταβλητή 50

αξίαμετά την παραλαβή της μεταβλητής 25

Τώρα ας προχωρήσουμε στον αντικειμενοστρεφή προγραμματισμό

Αντικειμενοστραφής προγραμματισμός

Αντικειμενοστραφής προγραμματισμός Σύστημαείναι ένα παράδειγμα προγραμματισμού που βασίζεται στην έννοια του αντικείμενα που περιέχουν μέλη δεδομένων και μεθόδους σχετίζονται με αυτούς. Ο πρωταρχικός σκοπός του αντικειμενοστρεφούς προγραμματισμού είναι να αυξήσει την ευελιξία και τη συντήρηση των προγραμμάτων

Χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού:

  • Δίνει μεγαλύτερη έμφαση στα δεδομένα και όχι στη διαδικασία.
  • Τα προγράμματα χωρίζονται σε αντικείμενα καθιστώντας έτσι εύκολη την εργασία με.
  • Οι δομές δεδομένων έχουν σχεδιαστεί με τέτοιο τρόπο ώστε να χαρακτηρίζουν τα αντικείμενα.
  • Λειτουργίες που λειτουργούν επίτα δεδομένα ενός αντικειμένου τοποθετούνται μαζί στη δομή δεδομένων.
  • Τα δεδομένα είναι κρυμμένα και δεν είναι δυνατή η πρόσβαση σε εξωτερικές λειτουργίες χωρίς άδεια.
  • Η επικοινωνία μεταξύ αντικειμένων μπορεί να πραγματοποιηθεί με τη βοήθεια λειτουργιών.
  • Η προσθήκη νέων δεδομένων και λειτουργιών έχει γίνει εύκολη.
  • Ακολουθεί την προσέγγιση από τη βάση προς τα πάνω στο σχεδιασμό προγραμμάτων.

Τα αντικειμενοστρεφή παραδείγματα στο C # έχουν ως εξής

Καταμέτρηση σε C #

Ενουμ ή ονομάζεται επίσης ως απαρίθμηση στο C # χρησιμοποιείται για την αποθήκευση σταθερών τιμών χωρίς να χρειάζεται να τις αλλάξετε καθ 'όλη τη διάρκεια εκτέλεσης ενός προγράμματος C #. Τοχρησιμοποιείται για την αποθήκευση ενός συνόλου ονομαστικών σταθερών όπως εποχή, ημέρες, μήνας, μέγεθος κ.λπ.

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας τάξης EnumExample {public enum week {Δευτέρα, Τρίτη, Τετάρτη, Πέμπτη, Παρασκευή, Σάββατο, Κυριακή} δημόσιο στατικό κενό Κύρια () {int x = (int) εβδομάδα. Δευτέρα int y = (int) εβδομάδα. .WriteLine ('Monday = {0}', x) Console.WriteLine ('Friday = {0}', y)}}

//Παραγωγή:

Δευτέρα = 0
Παρασκευή = 4

Αντικειμενοστραφής Προγραμματισμός Προσέγγιση

Το αντικειμενοστρεφή στυλ προγραμματισμού μπορεί να επιτευχθεί ακολουθώντας τις μεθόδους που περιγράφονται παρακάτω.

Ενθυλάκωση

Ενθυλάκωση είναι μια μέθοδος συνδυασμού του μεθόδους μαζί με τους μέλη δεδομένων.

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος Edureka {class Rectangle {public double length public double width public double GetArea () {return length * width} public void Display () {Console.WriteLine ('Length: {0}', length) Console.WriteLine (' Πλάτος: {0} ', width) Console.WriteLine (' Area: {0} ', GetArea ())}} class ExecuteRectangle {static void Main (string [] args) {Rectangle r = new Rectangle () r.length = 50 r.width = 35 r. Εμφάνιση () Console.ReadLine ()}}}

//Παραγωγή:

Μήκος: 50
Πλάτος: 35
Περιοχή: 1750

Αφαίρεση

Αφαίρεση είναι μια μέθοδος για κρύβω το σύνθετο τμήμα κωδικοποίησης από τον χρήστη παρέχοντάς του μόνο τις απαιτούμενες πληροφορίες που χρειάζεται.

Παράδειγμα:

χρησιμοποιώντας Σύστημα δημόσια αφηρημένη κλάση Σχήμα {public abstract void draw ()} δημόσια τάξη Rectangle: Shape {public override void draw () {Console.WriteLine ('drawing ορθογώνιο ...')}} δημόσια τάξη Κύκλος: Σχήμα {δημόσια παράκαμψη κενού draw () {Console.WriteLine ('drawing circle ...')}} δημόσια τάξη TestAbstract {public static void Main () {Shape ss = new Rectangle () s.draw () s = new Circle () s.draw ()}}

//Παραγωγή:

σχεδίαση ορθογωνίου ...
σχέδιο κύκλου ...

Διεπαφή

ο διεπαφή είναι εντελώς παρόμοιο με το Abstraction. Η λειτουργικότητα μιας διασύνδεσης είναι να κρύψει τα ασήμαντα δεδομένα από τον χρήστη και να του παρέχει τα μόνα σημαντικά δεδομένα που χρειάζεται.

Παράδειγμα:

Χρήση δημόσιας διεπαφής συστήματος Drawable {void draw ()} public class Rectangle: Drawable {public void draw () {Console.WriteLine ('drawing ορθογώνιο ...')}} δημόσια τάξη Κύκλος: Σχεδίαση {public void draw () {Console .WriteLine ('drawing circle ...')}} δημόσια τάξη TestInterface {public static void Main () {Drawable dd = new Rectangle () d.draw () d = new Circle () d.draw ()}}

//Παραγωγή:

σχεδίαση ορθογωνίου ...
σχέδιο κύκλου ...

Πολυμορφισμός

Πολυμορφισμόςείναι ο συνδυασμός του «Πολυ» + «Μορφες» που σημαίνει πολλές μορφές. Είναι μια ελληνική λέξη. Αυτό σημαίνει ότι το τμήμα κώδικα μπορεί να λάβει πολλές μορφές. Έχουμε δύο τύπους πολυμορφισμού.

  • Μεταγλώττιση πολυμορφισμού χρόνου
  • Εκτέλεση Πολυμορφισμού

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας τάξης Animal {public string color = 'white'} public class Dog: Animal {public string color = 'black'} δημόσια τάξη TestSealed {public static void Main () {Animal d = new Dog () Console.WriteLine ( δ.χρώμα)}}

//Παραγωγή:

λευκό

Κληρονομία

Κληρονομία είναι μια διαδικασία στην οποία ένα αντικείμενο αποκτά αυτόματα όλες τις ιδιότητες και τις συμπεριφορές του γονικού αντικειμένου του. Μπορείτε να επαναχρησιμοποιήσετε, να επεκτείνετε ή να τροποποιήσετε τα χαρακτηριστικά και τις συμπεριφορές που ορίζονται σε άλλη τάξη. ονομάζεται η τάξη που κληρονομεί τα μέλη μιας άλλης τάξης παράγωγη τάξη και η τάξη των οποίων τα μέλη κληρονομούνται ονομάζεται βάση τάξη. Η παράγωγη τάξη είναι η εξειδικευμένη τάξη για την βασική τάξη.

Παράδειγμα κληρονομιάς ενός επιπέδου

χρήση χώρου ονομάτων συστήματος RectangleApplication {class Rectangle {προστατευμένο διπλό μήκος προστατευμένο διπλό πλάτος δημόσιο ορθογώνιο (double l, double w) {length = l width = w} public double GetArea () {return return * width} public void Display () {Console. Επιτραπέζια τάξη WriteLine ('Length: {0}', length) Console.WriteLine ('Width: {0}', width) Console.WriteLine ('Area: {0}', GetArea ())}} Δημόσιο επιτραπέζιο διπλό κόστος (διπλό, διπλό w): βάση (l, w) {} δημόσιο διπλό GetCost () {διπλό κόστος = GetArea () * 70 κόστος επιστροφής} δημόσιο κενό () {base.Display () Κονσόλα .WriteLine ('Κόστος: {0}', GetCost ())}} class ExecuteRectangle {static void Main (string [] args) {Tabletop t = new Tabletop (4.5, 7.5) t. Display () Console.ReadLine () }}}

//Παραγωγή:

Μήκος: 4.5
Πλάτος: 7.5
Περιοχή: 33.75
Κόστος: 2362.5

Παράδειγμα Πολυεπίπεδης Κληρονομικότητας

χρήση χώρου ονομάτων συστήματος InheritanceApplication {class Shape {public void setWidth (int w) {width = w} public void setHeight (int h) {height = h} προστατευμένο int width προστατευμένο int ύψος} δημόσια διεπαφή PaintCost {int getCost (int area)} class Rectangle: Shape, PaintCost {public int getArea () {return (width * height)} public int getCost (int area) {return area * 70}} class RectangleTester {static void Main (string [] args) {Rectangle Rect =) νέο Rectangle () int area Rect.setWidth (5) Rect.setHeight (7) area = Rect.getArea () Console.WriteLine ('Total area: {0}', Rect.getArea ()) Console.WriteLine ('Σύνολο κόστος βαφής: $ {0} ', Rect.getCost (area)) Console.ReadKey ()}}}

//Παραγωγή:

Συνολική έκταση: 35
Συνολικό κόστος βαφής: 2450 $

Υπερφόρτωση

Η υπερφόρτωση είναι μια κατάσταση όπου έχουμε δύο ή μέλη που δηλώνουν ότι χρησιμοποιούν το ίδιο όνομα. Η υπερφόρτωση είναι επίσης δυνατή όταν δηλώνουμε δύο ή περισσότερες μεθόδους με το ίδιο όνομα. Ας δούμε παραδείγματα και των δύο.

Υπερφόρτωση μέλους

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας κλάσης Edureka {public static int add (int a, int b) {return a + b} public static int add (int a, int b, int c) {return a + b + c}} δημόσια τάξη TestMemberOverloading { δημόσιο στατικό κενό Main () {Console.WriteLine (Edureka.add (12, 23)) Console.WriteLine (Edureka.add (12, 23, 25))}}

//Παραγωγή:

35
60

Μέθοδος υπερφόρτωσης

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας τάξης Edureka {public static int add (int a, int b) {return a + b} public static float add (float a, float b) {return a + b}} δημόσια κλάση TestMemberOverloading {public static void Main ( ) {Console.WriteLine (Edureka.add (12, 23)) Console.WriteLine (Edureka.add (12.4f, 21.3f))}}

//Παραγωγή:

35
33.699997

Παράκαμψη

Η υπέρβαση είναι μια κατάσταση όπου η τάξη παιδιών καθορίζει την ίδια μέθοδο που ο γονέας ορίζει επίσης. Ας το καταλάβουμε μέσα από ένα μικρό παράδειγμα.

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας τάξης Edureka {public virtual void eat () {Console.WriteLine ('Eating')}} δημόσια τάξη Dog: Edureka {public override void eat () {Console.WriteLine ('Eating food')}} δημόσια κατηγορία {public static void Main () {Dog d = new Dog () d.eat ()}}

//Παραγωγή:

Τρώγοντας φαγητό

Χώρος ονομάτων

ο χώρος ονομάτων βασικά χρησιμοποιείται για τη διαχείριση πολλαπλών τάξεων που υπάρχουν στο πρόγραμμα. Ο χώρος ονομάτων είναι διαθέσιμος με διαφορετικούς τρόπους.

  • Σύστημα. Κονσόλα: Εδώ, το Σύστημα γίνεται ο χώρος ονομάτων
  • Για να αποκτήσουμε πρόσβαση στην κλάση ενός χώρου ονομάτων, πρέπει να χρησιμοποιήσουμε namespacename.classname.
  • Μπορούμε να χρησιμοποιήσουμε το χρησιμοποιώντας λέξη-κλειδί επίσης.

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το Πρώτο χρησιμοποιώντας το Δεύτερο χώρο ονομάτων Πρώτη {δημόσια τάξη Edureka {public void sayWelcome () {Console.WriteLine ('Welcome To Edureka')}}}} namespace Δεύτερη {δημόσια τάξη Happy_Learning {public void sayWishes () {Console.WriteLine (' Happy Learning ')}}} Δημόσια τάξη Namespace {public static void Main () {Edureka h1 = new Edureka () Happy_Learning w1 = new Happy_Learning () h1.sayWelcome () w1.sayWishes ()}}

//Παραγωγή:

Καλώς ήλθατε στην Edureka
Καλή μάθηση

Λειτουργίες αρχείων

ο λειτουργίες αρχείων διαθέσιμα στο C # είναι τα εξής:

Λειτουργία Περιγραφή
BinaryReader Διαβάζει πρωτόγονα δεδομένα από δυαδική ροή.
BinaryWriter Γράφει πρωτόγονα δεδομένα σε δυαδική μορφή.
BufferedStream Προσωρινή αποθήκευση για μια ροή byte.
Ευρετήριο Βοηθά στη διαχείριση μιας δομής καταλόγου.
Πληροφορίες καταλόγου Χρησιμοποιείται για την εκτέλεση λειτουργιών σε καταλόγους.
DriveInfo Παρέχει πληροφορίες για τις μονάδες δίσκου.
Αρχείο Βοηθά στη διαχείριση αρχείων.
FileInfo Χρησιμοποιείται για την εκτέλεση λειτουργιών σε αρχεία.
Ροή αρχείων Χρησιμοποιείται για ανάγνωση και εγγραφή σε οποιαδήποτε τοποθεσία σε ένα αρχείο.
MemoryStream Χρησιμοποιείται για τυχαία πρόσβαση σε ροή δεδομένων που είναι αποθηκευμένα στη μνήμη.
Μονοπάτι Εκτελεί λειτουργίες σε πληροφορίες διαδρομής.
StreamReader Χρησιμοποιείται για την ανάγνωση χαρακτήρων από μια ροή byte.
StreamWriter Χρησιμοποιείται για τη σύνταξη χαρακτήρων σε μια ροή.
StringReader Χρησιμοποιείται για ανάγνωση από ένα buffer συμβολοσειράς.
StringWriter Χρησιμοποιείται για την εγγραφή σε ένα buffer συμβολοσειράς.

Μέθοδος αρχείου

ο Μέθοδος αρχείου είναι ένας απαριθμητής που καθορίζει πολλαπλές μεθόδους ανοίγματος αρχείων. Τα μέλη του FileMode Enumerator περιγράφονται ως εξής:

  • Προσαρτώ: Ανοίγει ένα υπάρχον αρχείο και βάζει τον κέρσορα στο τέλος του αρχείου ή δημιουργεί το αρχείο εάν το αρχείο δεν υπάρχει.
  • Δημιουργώ: Έχει σχεδιαστεί για να δημιουργήσει ένα νέο αρχείο.
  • ΔημιουργίαΝέα: Είναι σχεδιασμένο να καθορίζει στο λειτουργικό σύστημα, ότι θα πρέπει να δημιουργήσει ένα νέο αρχείο.
  • Ανοιξε: Έχει σχεδιαστεί για να ανοίγει ένα υπάρχον αρχείο.
  • OpenOrCreate: Έχει σχεδιαστεί για να καθορίζει το λειτουργικό σύστημα που θα πρέπει να ανοίξει ένα αρχείο εάν υπάρχει, διαφορετικά θα πρέπει να δημιουργήσει ένα νέο αρχείο.
  • Κολοβός: Το Truncate ανοίγει ένα υπάρχον αρχείο και περικόπτει το μέγεθός του σε μηδέν byte.

FileAccess

FileAccess Το Enumerator χρησιμοποιείται για την απόκτηση πρόσβασης σε ένα συγκεκριμένο αρχείο. Έχει τα ακόλουθα μέλη.

  • Ανάγνωση
  • Γράφω
  • Διαβάζω γράφω

Κοινή χρήση αρχείων

ο Κοινή χρήση αρχείων Το Enumerator χρησιμοποιείται για την κοινή χρήση ενός συγκεκριμένου αρχείου. Έχει τα ακόλουθα μέλη.

  • Κληρονόμητος: Το κληρονομικό επιτρέπει σε ένα αρχείο χειρισμού να μεταβιβάσει μια κληρονομιά στις διεργασίες του παιδιού.
  • Κανένας: Κανένα δεν απορρίπτει την κοινή χρήση του τρέχοντος αρχείου
  • Ανάγνωση: Η ανάγνωση επιτρέπει το άνοιγμα του αρχείου για ανάγνωση.
  • Διαβάζω γράφω: Το ReadWrite επιτρέπει το άνοιγμα του αρχείου για ανάγνωση και γραφή.
  • Γράφω: Η εγγραφή επιτρέπει το άνοιγμα του αρχείου για γραφή.

Εκδηλώσεις

Ένα συμβάν είναι γενικά γνωστό ως ενέργεια που δημιουργείται από τον χρήστη. Μπορεί να είναι ένα κλικ του ποντικιού και ακόμη και ένα πάτημα πλήκτρου από το πληκτρολόγιο. Ομοίως, τα προγράμματα C # έχουν επίσης εκδηλώσεις. Η γεννήτρια του συμβάντος ονομάζεται εκδότης και ο παραλήπτης του συμβάντος ονομάζεται συνδρομητής.

Εκδότης

ΠΡΟΣ ΤΟ εκδότης περιέχει τον ορισμό της εκδήλωσης και του εκπροσώπου. ο εκπρόσωπος εκδήλωσης ο συσχετισμός ορίζεται σε αυτό το αντικείμενο. ΕΝΑ εκδότης το αντικείμενο κλάσης επικαλείται το συμβάν και κοινοποιείται σε άλλα αντικείμενα.

Συνδρομητής

ΠΡΟΣ ΤΟ συνδρομητής αποδέχεται την εκδήλωση και παρέχει ένα χειριστής εκδηλώσεων. ο αντιπρόσωπος στην κατηγορία εκδοτών επικαλείται τη μέθοδο / συμβάν χειριστής της τάξης συνδρομητών.

Παράδειγμα:

χρησιμοποιώντας το όνομα χώρου συστήματος Edureka {συμβολοσειρά δημόσιου αντιπροσώπου Del (string str) τάξη EventBlock {event Del NewEvent public EventBlock () {this.NewEvent + = new Del (this.WelcomeUser)} δημόσια συμβολοσειρά WelcomeUser (string username) {return 'Welcome To Edureka . '+ username} static void Main (string [] args) {EventBlock obj1 = new EventBlock () string string = obj1.NewEvent (' Happy Learning ') Console.WriteLine (αποτέλεσμα)}}}

//Παραγωγή:

Καλώς ήλθατε στην Edureka. Καλή μάθηση

Generics

Generics είναι μια ιδέα παροχής στα μέλη και τις μεθόδους μιας τάξης με κατόχους θέσεων Χρόνος εκτέλεσης. Μπορούμε να ορίσουμε το Generics χρησιμοποιώντας αγκύλες Ας δούμε τα ακόλουθα παραδείγματα.

Generics σε μια τάξη

χρησιμοποιώντας το όνομα χώρου συστήματος Edureka {class GenericClass {public GenericClass (T msg) {Console.WriteLine (msg)}} class class {static void Main (string [] args) {GenericClass gen = new GenericClass ('Αυτό το μήνυμα προέρχεται από γενική κλάση' GenericClass genI = νέο GenericClass (123) GenericClass getCh = νέο GenericClass ('E')}}}

//Παραγωγή:

Αυτό το μήνυμα προέρχεται από γενική τάξη
123
ΕΙΝΑΙ

Generics σε μια μέθοδο

χρησιμοποιώντας το σύστημα namespace Edureka {class GenericClass {public void Show (T msg) {Console.WriteLine (msg)}} class class {static void Main (string [] args) {GenericClass genC = new GenericClass () genC.Show ('This το μήνυμα προέρχεται από τη γενική μέθοδο ') genC.Show (321) genC.Show (' H ')}}}

//Παραγωγή:

Αυτό το μήνυμα προέρχεται από τη γενική μέθοδο
321
Η

Εκπρόσωποι

ο Αντιπρόσωπος ενεργεί ως αναφορά στη μέθοδο. Βασικά είναι ίδιο με ένα δείκτης συνάρτησης σε C και C ++ αλλά πολύ καλύτερα και ασφαλή στον τύπο. Ο Εκπρόσωπος στο στατική μέθοδος ενσωματώνει μόνο τη μέθοδο. Ενώ ο εκπρόσωπος στο παράδειγμα Η μέθοδος ενσωματώνει τόσο τη μέθοδο όσο και την παρουσία. Η καλύτερη χρήση του πληρεξούσιου είναι να χρησιμοποιείται ως Εκδήλωση.

Παράδειγμα:

χρησιμοποιώντας Σύστημα πληρεξούσιου int Calculator (int n) δημόσια τάξη Edureka {static int number = 25 public static int add (int n) {number = number + n return number} public static int (int n) {number = number * n return number} public static int getNumber () {return number} public static void Main (string [] args) {Calculator c1 = new Calculator (add) Calculator c2 = new Calculator (mul) c1 (20) Console.WriteLine («Μετά την αριθμομηχανή ένας πληρεξούσιος, ο νέος αριθμός είναι: '+ getNumber ()) c2 (3) Console.WriteLine (' After calculator two delegate, the new Number is: '+ getNumber ())}}

//Παραγωγή:

Μετά την αριθμομηχανή ένας πληρεξούσιος, ο νέος αριθμός είναι: 45
Μετά την αριθμομηχανή δύο πληρεξούσιος, ο νέος αριθμός είναι: 135

Αντανάκλαση

Το Reflection απαιτείται για τη λήψη των μεταδεδομένων στο χρόνο εκτέλεσης. Η αναφορά είναι διαθέσιμη σε Σύστημα. Αντανάκλαση χώρος ονομάτων Απαιτεί την εκτέλεση των ακόλουθων τάξεων.

  • Τύπος
  • Πληροφορίες μέλους
  • Κατασκευαστής Πληροφορίες
  • Μέθοδος πληροφοριών
  • Πληροφορίες πεδίου
  • Πληροφορίες ιδιοκτησίας
  • Πληκτρολογήστε πληροφορίες
  • EventInfo
  • Μονάδα μέτρησης
  • Συνέλευση
  • Όνομα συναρμολόγησης
  • Δείκτης

Κατηγορία τύπου

Το C # Type class αντιπροσωπεύει δηλώσεις τύπων για τύπους κλάσης, τύπους διασύνδεσης, τύπους απαρίθμησης, τύπους πίνακα, τύπους τιμών

Πληκτρολογήστε Ιδιότητες

Παρακάτω αναφέρεται μια λίστα με σημαντικές ιδιότητες των κατηγοριών τύπων.

Ιδιοκτησία Περιγραφή
Συνέλευση Παίρνει τη συνέλευση για αυτόν τον τύπο.
AssemblyQualifiedName Παίρνει το κατάλληλο όνομα Συνέλευσης για αυτόν τον τύπο.
Γνωρίσματα Παίρνει τα χαρακτηριστικά που σχετίζονται με τον τύπο.
Βασικός τύπος Παίρνει τον τύπο βάσης ή γονέα.
Πλήρες όνομα Παίρνει το πλήρως αναγνωρισμένο όνομα του τύπου.
Περίληψη χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Abstract.
Η IsArray χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Array.
IsClass χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Class.
IsEnum χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Enum.
Διεπαφή χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Interface.
Είναι ένθετο χρησιμοποιείται για να ελέγξει αν ο τύπος είναι ένθετος.
IsPrimitive χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Primitive.
IsPointer χρησιμοποιείται για να ελέγξει αν ο τύπος είναι δείκτης.
IsNotPublic χρησιμοποιείται για να ελέγξει εάν ο τύπος δεν είναι Δημόσιος.
IsPublic χρησιμοποιείται για να ελέγξει αν ο τύπος είναι Δημόσιος.
Είναι σφραγισμένο χρησιμοποιείται για να ελέγξει εάν ο τύπος είναι Σφραγισμένος.
Είναι Serializable χρησιμοποιείται για να ελέγξει εάν ο τύπος είναι Σειριακή δυνατότητα.
Τύπος μέλους χρησιμοποιείται για να ελέγξει εάν ο τύπος είναι τύπος μέλους ένθετου τύπου.
Μονάδα μέτρησης Παίρνει τη μονάδα του τύπου.
Ονομα Παίρνει το όνομα του τύπου.
Χώρος ονομάτων Παίρνει το χώρο ονομάτων του τύπου.
Ιδιοκτησία Περιγραφή
GetConstructors () Επιστρέφει όλους τους δημόσιους κατασκευαστές για τον τύπο.
GetConstructors (BindingFlags) Επιστρέφει όλους τους κατασκευαστές για τον τύπο με καθορισμένα BindingFlags.
GetFields () Επιστρέφει όλα τα δημόσια πεδία για τον τύπο.
GetFields (BindingFlags) Επιστρέφει όλους τους δημόσιους κατασκευαστές για τον τύπο με καθορισμένα BindingFlags.
GetMembers () Επιστρέφει όλα τα δημόσια μέλη για τον τύπο.
GetMembers (BindingFlags) Επιστρέφει όλα τα μέλη για τον τύπο με καθορισμένα BindingFlags.
Λήψη μεθόδων () Επιστρέφει όλες τις δημόσιες μεθόδους για τον τύπο.
GetMethods (BindingFlags) Επιστρέφει όλες τις μεθόδους για τον τύπο με καθορισμένα BindingFlags.
GetProperties () Επιστρέφει όλες τις δημόσιες ιδιότητες για τον τύπο.
GetProperties (BindingFlags) Επιστρέφει όλες τις ιδιότητες για τον τύπο με καθορισμένα BindingFlags.
GetType () Παίρνει τον τρέχοντα τύπο.
GetType (συμβολοσειρά) Παίρνει τον τύπο για το συγκεκριμένο όνομα.

Παραδείγματα προβληματισμού:

Λήψη τύπου

Παράδειγμα:

χρησιμοποιώντας το σύστημα δημόσιας τάξης GetType {public static void Main () {int a = 10 Type type = a.GetType () Console.WriteLine (type)}}

//Παραγωγή:

System.Int32

Πάρτε συναρμολόγηση

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Reflection δημόσια τάξη GetAssembly {public static void Main () {Type t = typeof (System.String) Console.WriteLine (t.Assembly)}}

//Παραγωγή:

System.Private.CoreLib, Έκδοση = 4.0.0.0, Πολιτισμός = ουδέτερο, PublicKeyToken = 7cec85d7bea7798e

Πληροφορίες τύπου εκτύπωσης

Παράδειγμα:

χρησιμοποιώντας το System using System.Reflection public class PrintType {public static void Main () {Type t = typeof (System.String) Console.WriteLine (t.FullName) Console.WriteLine (t.BaseType) Console.WriteLine (t.IsClass) Console.WriteLine (t.IsEnum) Κονσόλα.WriteLine (t.IsInterface)}}

//Παραγωγή:

Αληθής
Ψευδής
Ψευδής

Εκτύπωση κατασκευαστών

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Reflection δημόσια κλάση PrintConstructors {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Constructors of {0} type ...', t) ConstructorInfo [] ci = t .GetConstructors (BindingFlags.Public | BindingFlags.Instance) foreach (ConstructorInfo c in ci) {Console.WriteLine (c)}}}

//Παραγωγή:

Κατασκευαστές του System.String type ...
Void .ctor (Char []))
Void .ctor (Char [], Int32, Int32)
Void .ctor (Char *)
Void .ctor (Char *, Int32, Int32)
Void .ctor (SByte *)
Void .ctor (SByte *, Int32, Int32)
Void .ctor (SByte *, Int32, Int32, System.Text.Eccoding)
Void .ctor (Char, Int32)
Void .ctor (System.ReadOnlySpan`1 [System.Char])

Μέθοδοι εκτύπωσης

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Reflection public class PrintMethods {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Methods of {0} type ...', t) MethodInfo [] ci = t .GetMethods (BindingFlags.Public | BindingFlags.Instance) foreach (MethodInfo m in ci) {Console.WriteLine (m)}}}

//Παραγωγή:

Μέθοδοι συστήματος. Τύπος συμβολοσειράς ...
System.String Replace (System.String, System.String)
System.String [] Split (Char, System.StringSplitOptions)
System.String [] Split (Char, Int32, System.StringSplitOptions)
System.String [] Split (Char [])
System.String [] Split (Char [], Int32)
System.String [] Split (Char [], System.StringSplitOptions)
System.String [] Split (Char [], Int32, System.StringSplitOptions)
System.String [] Split (System.String, System.StringSplitOptions)
System.String [] Split (System.String, Int32, System.StringSplitOptions)
System.String [] Split (System.String [], System.StringSplitOptions)
System.String [] Split (System.String [], Int32, System.StringSplitOptions) ......

Εκτύπωση πεδίων

Παράδειγμα:

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Reflection δημόσια κλάση PrintFields {public static void Main () {Type t = typeof (System.String) Console.WriteLine ('Fields of {0} type ...', t) FieldInfo [] ci = t .GetFields (BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic) foreach (FieldInfo f in ci) {Console.WriteLine (f)}}}

//Παραγωγή:

Πεδία συστήματος. Τύπος συμβολοσειράς ...
System.String Empty

Τώρα, ας προχωρήσουμε σε κάποιες προηγμένες έννοιες προγραμματισμού C #

Προηγμένες έννοιες C #

Ανώνυμη συνάρτηση

Η συνάρτηση που δεν διαθέτει συγκεκριμένο όνομα καλείται Ανώνυμος Λειτουργίες. Υπάρχουν δύο τύποι ανώνυμων συναρτήσεων στο C #

  • Εκφράσεις λάμδα
  • Ανώνυμες μέθοδοι

Παράδειγμα:

χρησιμοποιώντας χώρο ονομάτων συστήματος LambdaExpressions {class Edureka {delegate int Square (int num) static void Main (string [] args) {Square GetSquare = x => x * x int j = GetSquare (25) Console.WriteLine ('Square:' + ι)}}}

//Παραγωγή:

Πλατεία: 625

Ανώνυμες μέθοδοι

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

Παράδειγμα:

Χρήση χώρου ονομάτων συστήματος AnonymousMethods {class Program {public delegate void AnonymousFun () static void Main (string [] args) {AnonymousFun fun = delegate () {Console.WriteLine ('This is anonymous function')} fun ()}}}

//Παραγωγή:

Αυτή είναι μια ανώνυμη συνάρτηση

Πολλαπλών σπειρωμάτων

Το Multithreading είναι μια διαδικασία όπου δημιουργούνται και ανατίθενται πολλαπλά νήματα για διαφορετικές εργασίες. Αυτό εξοικονομεί χρόνο εκτελώντας πολλές εργασίες ταυτόχρονα. Η κλάση πολλαπλών νημάτων είναι διαθέσιμη σε Σύστημα. Περικοπή χώρος ονομάτων

Σύστημα. Πεδίο ονομάτων

ο Σύστημα. Περικοπή namespace περιέχει τάξεις και διασυνδέσεις για τη διευκόλυνση του multithreading. Παρέχει μαθήματα για συγχρονισμό του πόρου νήματος. Παρακάτω παρατίθεται μια λίστα με τάξεις που χρησιμοποιούνται συνήθως:

  • Νήμα
  • Σίγαση
  • Μετρών την ώραν
  • Οθόνη
  • Σηματοφόρος
  • Νήμα τοπικά
  • ThreadPool
  • Πτητικός

Διαδικασία και νήμα

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

Ο κύκλος ζωής ενός νήματος

Κάθε νήμα έχει έναν κύκλο ζωής. Ο κύκλος ζωής του νήματος ορίζεται στην κλάση System.Threading.Tread. Τα παρακάτω είναι τα στάδια του κύκλου ζωής οποιουδήποτε νήματος.

  • Χωρίς έναρξη
  • Runnable (Έτοιμο για εκτέλεση)
  • Τρέξιμο
  • Δεν μπορεί να εκτελεστεί
  • Νεκρός

Η κλάση νημάτων παρέχει τις ακόλουθες ιδιότητες και μεθόδους ως εξής.

Ιδιότητες νημάτων

Ιδιοκτησία Περιγραφή
Τρέχον νήμα επιστρέφει την παρουσία του τρέχοντος νήματος.
Ειναι ΖΩΝΤΑΝΟΣ ελέγχει αν το τρέχον νήμα είναι ζωντανό ή όχι.
IsBackground Η λήψη / ορισμός της τιμής του τρέχοντος νήματος βρίσκεται στο παρασκήνιο ή όχι.
ManagedThreadId χρησιμοποιείται για τη λήψη του μοναδικού αναγνωριστικού για το τρέχον διαχειριζόμενο νήμα.
Ονομα χρησιμοποιείται για να πάρει ή να ορίσει το όνομα του τρέχοντος νήματος.
Προτεραιότητα χρησιμοποιείται για να πάρει ή να ορίσει την προτεραιότητα του τρέχοντος νήματος.
Νήμα χρησιμοποιείται για την επιστροφή μιας τιμής που αντιπροσωπεύει την κατάσταση του νήματος.

Μέθοδοι νημάτων

Μέθοδος Περιγραφή
Αμβλωση() χρησιμοποιείται για τον τερματισμό του νήματος. Αυξάνει το ThreadAbortException.
Διακοπή() χρησιμοποιείται για να διακόψει ένα νήμα που βρίσκεται σε κατάσταση WaitSleepJoin.
Συμμετοχή() χρησιμοποιείται για τον αποκλεισμό όλων των νημάτων κλήσης έως ότου τερματιστεί αυτό το νήμα.
ΕπαναφοράAbort () χρησιμοποιείται για την ακύρωση του αιτήματος Ακύρωσης για το τρέχον νήμα.
ΒΙΟΓΡΑΦΙΚΟ() χρησιμοποιείται για να συνεχίσει το ανασταλμένο νήμα. Είναι ξεπερασμένο.
Ύπνος (Int32) χρησιμοποιείται για την αναστολή του τρέχοντος νήματος για τα καθορισμένα χιλιοστά του δευτερολέπτου.
Αρχή() αλλάζει την τρέχουσα κατάσταση του νήματος σε Runnable.
Αναστέλλω() αναστέλλει το τρέχον νήμα εάν δεν έχει ανασταλεί. Είναι ξεπερασμένο.
Απόδοση παραγωγής() χρησιμοποιείται για να αποδώσει την εκτέλεση του τρέχοντος νήματος σε άλλο νήμα.

Παράδειγμα κύριου νήματος

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Threading δημόσια τάξη Edureka {public static void Main (string [] args) {Thread t = Thread.CurrentThread t.Name = 'MainThread' Console.WriteLine (t.Name)}}

//Παραγωγή:

Κύριο νήμα

Χειρισμός εξαίρεσης

ο εξαίρεση είναι ένα σφάλμα που ρίχνεται από το πρόγραμμα στο χρόνο εκτέλεσης του. Εκτελούμε Εξαίρεση-Χειρισμός προκειμένου να κάνουμε την εξαίρεση του προγράμματος δωρεάν.

Εξαίρεση Περιγραφή
System.DivideByZeroException Παρουσιάστηκε σφάλμα με διαίρεση ενός αριθμού με μηδέν.
System.NullReferenceException χειρίζεται το σφάλμα που δημιουργήθηκε με αναφορά στο μηδενικό αντικείμενο.
System.InvalidCastException χειρίζεται το σφάλμα που δημιουργήθηκε από μη έγκυρη πληκτρολόγηση.
System.IO.IOException χειρίζεται τα σφάλματα εισόδου / εξόδου.
System.FieldAccessException Σφάλμα που δημιουργήθηκε από μη έγκυρη ιδιωτική / προστατευμένη πρόσβαση.

Στο C #, χρησιμοποιούμε 4 λέξεις-κλειδιά για απόδοση χειρισμός εξαιρέσεων:

  • δοκιμάστε
  • σύλληψη
  • τελικά, και
  • βολή
Παράδειγμα:
χρησιμοποιώντας Σύστημα δημόσιας τάξης EdurekExample {public static void Main (string [] args) {try {int a = 10 int b = 0 int x = a / b} catch (Exception e) {Console.WriteLine (e)} Console.WriteLine ('Αυτό το μήνυμα προέρχεται από το catch block')}}

//Παραγωγή:

System.DivideByZeroException: Προσπάθησε να διαιρεθεί με μηδέν.
στο ExExaEdurekample.Main (String [] args) στο F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 10
Αυτό το μήνυμα προέρχεται από το catch catch

Παράδειγμα εξατομικευμένης εξαίρεσης

χρησιμοποιώντας σύστημα δημόσιας τάξης InvalidAgeException: Εξαίρεση {public InvalidAgeException (μήνυμα συμβολοσειράς): βάση (μήνυμα) {}} Προσαρμοσμένη δημόσια τάξη {static void validate (int age) {if (age<18) { throw new InvalidAgeException('Sorry, Age is expected to be greater than 18') } } public static void Main(string[] args) { try { validate(12) } catch (InvalidAgeException e) { Console.WriteLine(e) } Console.WriteLine('Catch block is being executed now.') } } 

//Παραγωγή:

InvalidAgeException: Δυστυχώς, η ηλικία αναμένεται να είναι μεγαλύτερη από 18
στο Customized.validate (Int32 age) σε F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 18
στο Customized.Main (String [] args) στο F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 23
Το Catch block εκτελείται τώρα.

Τέλος, μπλοκ παράδειγμα

χρησιμοποιώντας το σύστημα δημόσιας κλάσης FinalExecption {public static void Main (string [] args) {try {int a = 10 int b = 0 int x = a / b} catch (Exception e) {Console.WriteLine (e)} τελικά {Console .WriteLine ('Τέλος ο αποκλεισμός εκτελείται')} Console.WriteLine ('Catch block is εκτελέστηκε')}}

//Παραγωγή:

System.DivideByZeroException: Προσπάθησε να διαιρεθεί με μηδέν.
στο FinalExecption.Main (String [] args) στο F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 10
Τέλος εκτελείται το μπλοκ
Εκτελείται μπλοκ σύλληψης

Υπογραφή εξαίρεσης συστήματος

[SerializableAttribute] [ComVisibleAttribute (true)] δημόσια κλάση SystemException: Εξαίρεση

Κατασκευαστές εξαίρεσης συστήματος

Οικοδόμος Περιγραφή
SystemException () Χρησιμοποιείται για την προετοιμασία μιας νέας παρουσίας της κλάσης SystemException.
SystemException

(SerializationInfo, StreamingContext)

Χρησιμοποιείται για την προετοιμασία μιας νέας παρουσίας της κλάσης SystemException με σειριακά δεδομένα.
SystemException (συμβολοσειρά) Χρησιμοποιείται για την προετοιμασία μιας νέας παρουσίας της κλάσης SystemException με ένα συγκεκριμένο μήνυμα σφάλματος.
SystemException (Συμβολοσειρά, Εξαίρεση) Χρησιμοποιείται για την προετοιμασία μιας νέας παρουσίας της κλάσης SystemException με ένα καθορισμένο μήνυμα σφάλματος και μια αναφορά στην εσωτερική εξαίρεση που είναι η αιτία αυτής της εξαίρεσης.

Ιδιότητες εξαίρεσης συστήματος

Ιδιοκτησία Περιγραφή
Δεδομένα Χρησιμοποιείται για τη λήψη μιας συλλογής ζευγών κλειδιών / τιμών που παρέχουν πρόσθετες πληροφορίες που καθορίζονται από τον χρήστη σχετικά με την εξαίρεση.
HelpLink Χρησιμοποιείται για τη λήψη ή ρύθμιση ενός συνδέσμου στο αρχείο βοήθειας που σχετίζεται με αυτήν την εξαίρεση.
Αποτέλεσμα Χρησιμοποιείται για τη λήψη ή τον ορισμό του HRESULT, μιας κωδικοποιημένης αριθμητικής τιμής που αντιστοιχεί σε μια συγκεκριμένη εξαίρεση.
InnerException Χρησιμοποιείται για τη λήψη της παρουσίας εξαίρεσης που προκάλεσε την τρέχουσα εξαίρεση.
Μήνυμα Χρησιμοποιείται για τη λήψη ενός μηνύματος που περιγράφει την τρέχουσα εξαίρεση.
Πηγή Χρησιμοποιείται για τη λήψη ή τον ορισμό του ονόματος της εφαρμογής που προκαλεί το σφάλμα.
StackTrace Χρησιμοποιείται για να πάρει μια συμβολοσειρά αναπαράσταση των άμεσων καρέ στη στοίβα κλήσεων.
TargetSite Χρησιμοποιείται για να πάρει τη μέθοδο που ρίχνει την τρέχουσα εξαίρεση.

Μέθοδοι εξαίρεσης συστήματος

Μέθοδοι Περιγραφή
Ισούται (Αντικείμενο) Χρησιμοποιείται για να ελέγξει αν το καθορισμένο αντικείμενο είναι ίσο με το τρέχον αντικείμενο ή όχι.
Οριστικοποιώ() Χρησιμοποιείται για την απελευθέρωση πόρων και την εκτέλεση εργασιών καθαρισμού.
GetBaseException () Χρησιμοποιείται για την εξαίρεση root.
GetHashCode () Χρησιμοποιείται για τη λήψη του κωδικού κατακερματισμού.
GetObjectData

(SerializationInfo, StreamingContext)

Χρησιμοποιείται για τη λήψη δεδομένων αντικειμένων.
GetType () Χρησιμοποιείται για να πάρει τον τύπο χρόνου εκτέλεσης της τρέχουσας παρουσίας.
Μέλος για τον Κλώνο () Χρησιμοποιείται για να δημιουργήσει ένα ρηχό αντίγραφο του τρέχοντος αντικειμένου.
ToString () Χρησιμοποιείται για τη δημιουργία και επιστροφή μιας παράστασης συμβολοσειράς της τρέχουσας εξαίρεσης.

Παράδειγμα εξαίρεσης συστήματος

χρήση χώρου ονομάτων συστήματος CSharpProgram {class SystemExceptionExample {static void Main (string [] args) {try {int [] arr = new int [5] arr [10] = 25} catch (SystemException e) {Console.WriteLine (e)} }}}

//Παραγωγή:

System.IndexOutOfRangeException: Το ευρετήριο ήταν έξω από τα όρια του πίνακα.
στο CSharpProgram.SystemExceptionExample.Main (String [] args) στο F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 11

Συγχρονισμός

Ο συγχρονισμός μπορεί να είναι μια τεχνική που επιτρέπει μόνο σε ένα νήμα να έχει πρόσβαση στον πόρο για συγκεκριμένο χρόνο. Κανένα εναλλακτικό νήμα δεν θα διακόψει έως ότου το καθορισμένο νήμα ολοκληρώσει την εργασία του.

Στο πρόγραμμα πολλαπλών νημάτων, επιτρέπονται νήματαγια πρόσβαση σε οποιονδήποτε πόρο για τοκαθορισμένη εκτέλεσηχρόνος. Τα νήματα μοιράζονται πόρους και εκτελούνται ασύγχρονα. Πρόσβαση σε κοινόχρηστους πόρους (δεδομένα)μπορεί να είναι ένα σημαντικό έργοαυτό γενικάθα μπορούσε να σταματήσειτο σύστημα.έχουμε την τάση να το επηρεάσουμεδημιουργώντας νήματα με σύγχρονο τρόπο.

Παράδειγμα χωρίς συγχρονισμό

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Threading class Edureka {public void PrintTable () {για (int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

//Παραγωγή:

ένας
ένας
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10

Παράδειγμα με συγχρονισμό

χρησιμοποιώντας το Σύστημα χρησιμοποιώντας το System.Threading class Edureka {public void PrintTable () {lock (this) {for (int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

//Παραγωγή:

ένας
2
3
4
5
6
7
8
9
10
ένας
2
3
4
5
6
7
8
9
10

Νέα χαρακτηριστικά

Η Microsoft έχει προσθέσει πολλές τελευταίες δυνατότητες στη γλώσσα C #, μερικές από αυτές αναφέρονται παρακάτω.

Γ # 6.0

  • Χρησιμοποιώντας στατική οδηγία
  • Φίλτρα εξαίρεσης
  • Περιμένετε στη σύλληψη / τελικά μπλοκ
  • Αυτόματοι αρχικοποιητές ιδιοτήτων
  • Προεπιλεγμένες τιμές για ιδιότητες αποκλειστικής λήψης
  • Μέλη με έκφραση
  • Μηδενικός πολλαπλασιαστής
  • Παρεμβολή συμβολοσειράς
  • Όνομα χειριστή
  • Αρχικοποιητής λεξικού
  • Μεταγλωττιστής ως υπηρεσία (Roslyn)

C # 7.0

  • Ταίριασμα μοτίβου
  • Tuples
  • Αποδόμηση
  • Τοπικές συναρτήσεις
  • Διαχωριστικό ψηφίων
  • Δυαδικά γράμματα
  • Επιστροφές επιστροφών και ντόπιοι
  • Κατασκευαστές και οριστικοποιητές με έκφραση
  • Ληφτές και ρυθμιστές
  • Μεταβλητές έξω
  • Γενικευμένοι τύποι επιστροφής async

C # 7.1

  • Κύριο Async
  • Προεπιλεγμένες εκφράσεις

Ερωτήσεις συνέντευξης με βάση το C #

Οι σημαντικές ερωτήσεις συνέντευξης που βασίζονται στη γλώσσα προγραμματισμού C # μπορείτε να βρείτε σε αυτήν την ενημερωμένη έκδοση .

Με αυτό, καταλήγουμε στο τέλος αυτού του άρθρου 'C # Tutorial'. Ελπίζω να έχετε κατανοήσει τη σημασία των δομών δεδομένων, της σύνταξης, της λειτουργικότητας και των λειτουργιών που εκτελούνται χρησιμοποιώντας αυτές. Τώρα που έχετε κατανοήσει τα βασικά του Προγραμματισμού στο C # μέσω αυτούC # Εκμάθηση, δείτε το εκπαίδευση που παρέχεται από την Edureka σε πολλές τεχνολογίες όπως η Java, Ανοιξη και πολλάΕπιπλέον, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο πήρε ένα ερώτηση για εμάς; Αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου 'C # Tutorial' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.