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

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

Οι αυτοεφαρμοζόμενες ιδιότητες εισάγονται στο C# 3.0.

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

  1. Χρήση αυτόματων αρχικοποιητών ιδιοτήτων στο C# 6
  2. Ανάθεση προεπιλεγμένης τιμής στον κατασκευαστή
  3. Χρήση του C# Property Setter
  4. Χρήση του DefaultValue Attribute && Property Setter

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

Μέθοδος 1 : Χρήση αυτόματων αρχικοποιητών ιδιοτήτων στο C# 6

Στο C# 6 μπορούμε να δηλώσουμε την αυτόματη αρχικοποίηση της ιδιότητας και να ορίσουμε την προεπιλεγμένη τιμή σε μια δήλωση μίας γραμμής.

Η σύνταξη είναι

class Product{
    public string Name {get;set;} = "";
}

Από προεπιλογή οι ιδιότητες συμβολοσειράς θα έχουν τιμή null, Χρησιμοποιώντας τη δήλωση σε γραμμή C# 6, ορίζουμε την προεπιλεγμένη τιμή ως κενή συμβολοσειρά.

Μέθοδος 2: Ανάθεση προεπιλεγμένης τιμής στον κατασκευαστή

Στις παλαιότερες εκδόσεις των C#, C# 5 και κάτω είναι καλή πρακτική να ορίζετε τις προεπιλεγμένες τιμές των ιδιοτήτων C# στον κατασκευαστή της κλάσης.

class Product 
{
    public string Name { get; set; }
    public Product()
    {
        Name = "";
    }
}

Μέθοδος 3: Χρήση του C# Property Setter

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

class Product 
{
    private string _name = "";
    public string Name { 
        
        get { return _name;}
        set { _name = value;} 
    }
}

μέθοδος 4: Χρήση του DefaultValue Attribute && Property Setter

Στο παραπάνω παράδειγμα έχουμε δημιουργήσει μια ιδιωτική μεταβλητή και έχουμε εκχωρήσει μια προεπιλεγμένη τιμή.

Αντί αυτού μπορούμε να χρησιμοποιήσουμε το χαρακτηριστικό DefaultValue για να εκχωρήσουμε προεπιλεγμένη τιμή.

class Product 
{
    private string _name;

    [DefaultValue("")]
    public string Name { 
        
        get { return _name;}
        set { _name = value;} 
    }
}

Θυμηθείτε ** Το χαρακτηριστικόDefaultValue λειτουργεί μόνο με setter ιδιοτήτων.**

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

public class Product
{
    [DefaultValue("")]
    public string Name { get; set; }
}

Εάν χρησιμοποιείτε το χαρακτηριστικό DefaultValue πρέπει να χρησιμοποιήσετε τον ρυθμιστή ιδιοτήτων.

Περίληψη

Εάν χρησιμοποιείτε το C# 6 χρησιμοποιήστε δήλωση in-line για να ορίσετε προεπιλεγμένη τιμή στις ιδιότητες C#, διαφορετικά ορίστε προεπιλεγμένη τιμή στον κατασκευαστή.