Προγραμματισμός

Πώς να χρησιμοποιήσετε ανώνυμους τύπους στο C #

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

Για να εργαστείτε με τα παραδείγματα κώδικα που παρέχονται σε αυτό το άρθρο, θα πρέπει να έχετε εγκαταστήσει το Visual Studio 2019 στο σύστημά σας. Εάν δεν έχετε ήδη αντίγραφο, μπορείτε να κατεβάσετε το Visual Studio 2019 εδώ.

Δημιουργήστε ένα έργο εφαρμογής κονσόλας στο Visual Studio

Πρώτα απ 'όλα, ας δημιουργήσουμε ένα έργο εφαρμογής .NET Core κονσόλας στο Visual Studio. Υποθέτοντας ότι το Visual Studio 2019 είναι εγκατεστημένο στο σύστημά σας, ακολουθήστε τα βήματα που περιγράφονται παρακάτω για να δημιουργήσετε ένα νέο έργο εφαρμογής .NET Core κονσόλας στο Visual Studio.

  1. Εκκινήστε το Visual Studio IDE.
  2. Κάντε κλικ στο "Δημιουργία νέου έργου".
  3. Στο παράθυρο "Δημιουργία νέου έργου", επιλέξτε "Εφαρμογή κονσόλας (.NET Core)" από τη λίστα των προτύπων που εμφανίζονται.
  4. Κάντε κλικ στο Επόμενο.
  5. Στο παράθυρο "Διαμόρφωση του νέου έργου" που εμφανίζεται στη συνέχεια, καθορίστε το όνομα και την τοποθεσία για το νέο έργο.
  6. Κάντε κλικ στο Δημιουργία.

Αυτό θα δημιουργήσει ένα νέο έργο εφαρμογής .NET Core κονσόλας στο Visual Studio 2019. Θα χρησιμοποιήσουμε αυτό το έργο στις επόμενες ενότητες αυτού του άρθρου για να δείξουμε πώς μπορούμε να εργαστούμε με ανώνυμους τύπους στο C #.

Κατανοήστε τους ανώνυμους τύπους στο C #

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

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

Χρησιμοποιήστε έναν ανώνυμο τύπο στο C #

Ας βρούμε τώρα κάποιο κωδικό. Εξετάστε τον ακόλουθο ανώνυμο τύπο.

var author = νέο

{

Όνομα = "Joydip",

Επώνυμο = "Kanjilal",

Διεύθυνση = "Χαϊντεραμπάντ, ΙΝΔΙΑ"

};

Στο προηγούμενο απόσπασμα κώδικα, ο συγγραφέας είναι το όνομα μιας παρουσίας ανώνυμου τύπου που δημιουργήθηκε χρησιμοποιώντας τη νέα λέξη-κλειδί. (Το όνομα του ίδιου του ανώνυμου τύπου είναι γνωστό μόνο από τον μεταγλωττιστή.) Αυτός ο ανώνυμος τύπος περιέχει τρεις ιδιότητες, δηλαδή Όνομα, Επώνυμο και Διεύθυνση. Όλες αυτές οι ιδιότητες είναι τύπου συμβολοσειράς. Λάβετε υπόψη ότι όταν εργάζεστε με έναν ανώνυμο τύπο, δεν χρειάζεται να καθορίσετε τον τύπο μιας ιδιότητας πριν την αρχικοποιήσετε.

Μπορείτε να χρησιμοποιήσετε το παρακάτω απόσπασμα κώδικα για πρόσβαση και στις τρεις ιδιότητες του παραπάνω ανώνυμου τύπου.

Console.WriteLine ("Όνομα: {0} {1}", author.FirstName, author.LastName);

Console.WriteLine ("Διεύθυνση: {0}", author.Address);

Χρησιμοποιήστε ένθετο ανώνυμο τύπο στο C #

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

var author = νέο

{

Όνομα = "Joydip",

Επώνυμο = "Kanjilal",

Διεύθυνση = νέο {Πόλη = "Χαϊντεραμπάντ", Χώρα = "ΙΝΔΙΑ"}

};

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

Console.WriteLine ("Όνομα: {0} {1}", author.FirstName, author.LastName);

Console.WriteLine ("Διεύθυνση: {0}", author.Address.City);

Το πλήρες πρόγραμμα δίνεται παρακάτω για την αναφορά σας.

static void Main (συμβολοσειρά [] args)

{

var author = νέο

  {

Όνομα = "Joydip",

Επώνυμο = "Kanjilal",

Διεύθυνση = νέο {Πόλη = "Χαϊντεραμπάντ", Χώρα = "ΙΝΔΙΑ"}

  };

Console.WriteLine ("Όνομα: {0} {1}", author.FirstName, author.LastName);

Console.WriteLine ("Διεύθυνση: {0}", author.Address.City);

Κονσόλα. Διαβάστε ();

}

Χρησιμοποιήστε ανώνυμους τύπους με το LINQ

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

Εξετάστε την ακόλουθη τάξη με το όνομα Συγγραφέας.

δημόσια τάξη Συγγραφέας

{

δημόσιο int Id {get; σειρά; }

δημόσια συμβολοσειρά FirstName {get; σειρά; }

δημόσια συμβολοσειρά LastName {get; σειρά; }

}

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

Συγγραφείς IList =

νέα λίστα ()

{

νέος συντάκτης () {Id = 1, FirstName = "John", LastName = "Willey"},

νέος συντάκτης () {Id = 2, FirstName = "Steve", LastName = "Smith"},

νέος συντάκτης () {Id = 3, FirstName = "Bill", LastName = "Ruffner"},

νέος συντάκτης () {Id = 4, FirstName = "Joydip", LastName = "Kanjilal"}

};

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

var αποτέλεσμα = από ένα σε συγγραφείς επιλέξτε νέο

{

Id = a.Id,

Όνομα = a.FirstName + "\ t" + a.LastName

};

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

foreach (αποτελέσματα δεδομένων var)

Console.WriteLine (data.Name);

Το πλήρες πρόγραμμα δίνεται παρακάτω για την αναφορά σας.

δημόσια τάξη Συγγραφέας

    {

δημόσιο int Id {get; σειρά; }

δημόσια συμβολοσειρά FirstName {get; σειρά; }

δημόσια συμβολοσειρά LastName {get; σειρά; }

    }

Πρόγραμμα τάξης

    {

static void Main (συμβολοσειρά [] args)

        {

Συντάκτες IList = νέα λίστα () {

νέος συντάκτης () {Id = 1, FirstName = "John",

Επώνυμο = "Willey"},

νέος συντάκτης () {Id = 2, FirstName = "Steve",

Επώνυμο = "Smith"},

νέος συντάκτης () {Id = 3, FirstName = "Bill",

Επώνυμο = "Ruffner"},

νέος συντάκτης () {Id = 4, FirstName = "Joydip",

Επώνυμο = "Kanjilal"}

                };

var αποτέλεσμα = από ένα σε συγγραφείς

επιλέξτε νέο

                         {

Id = a.Id,

Όνομα = a.FirstName + "\ t" + a.LastName

                         };

foreach (αποτελέσματα δεδομένων var)

Console.WriteLine (data.Name);

Κονσόλα. Διαβάστε ();

        }

    }

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

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

Πώς να κάνετε περισσότερα στο C #:

  • Πότε να χρησιμοποιήσετε μια αφηρημένη τάξη εναντίον διεπαφής στο C #
  • Πώς να εργαστείτε με το AutoMapper στο C #
  • Πώς να χρησιμοποιήσετε τις εκφράσεις λάμδα στο C #
  • Πώς να συνεργαστείτε με τους αντιπροσώπους Action, Func και Predicate στο C #
  • Πώς να χρησιμοποιήσετε το Dapper ORM στο C #
  • Πώς να εφαρμόσετε έναν απλό καταγραφέα στο C #
  • Πώς να εργαστείτε με το log4net στο C #
  • Πώς να συνεργαστείτε με εκπροσώπους στο C #
  • Πώς να εργαστείτε με χαρακτηριστικά στο C #
  • Πώς να χρησιμοποιήσετε το μοτίβο σχεδιασμού flyweight στο C #
  • Πώς να εφαρμόσετε το μοτίβο σχεδίασης αποθετηρίου στο C #
  • Εξερεύνηση εικονικών και αφηρημένων μεθόδων στο C #
  • Πώς να εργαστείτε με προβληματισμό στο C #
  • Πώς να εργαστείτε με το σύστημα παρακολούθησης αρχείων στο C #