Στη C#, μια πλειάδα είναι μια δομή δεδομένων που οργανώνει δεδομένα και περιέχει δύο ή περισσότερα πεδία οποιουδήποτε τύπου.
Μια πλειάδα συνήθως δημιουργείται τοποθετώντας 2 ή περισσότερες εκφράσεις χωρισμένες με κόμμα μέσα σε ένα ζεύγος παρενθέσεων.
string boast = "All you need to know";
bool success = !string.IsNullOrWhiteSpace(boast);
(bool, int, string) triple = (success, 42, boast);
Μια πλειάδα μπορεί να χρησιμοποιηθεί σε πράξεις ανάθεσης και αρχικοποίησης, ως τιμή επιστροφής ή ως όρισμα μεθόδου.
Τα πεδία εξάγονται με τη σύνταξη της τελείας. Από προεπιλογή, το πρώτο πεδίο είναι Item1, το δεύτερο Item2, κ.ο.κ. Παρακάτω συζητάμε τα μη προεπιλεγμένα ονόματα.
// initialization
(int, int, int) vertices = (90, 45, 45);
// assignment
vertices = (60, 60, 60);
// return value
(bool, int) GetSameOrBigger(int num1, int num2)
{
return (num1 == num2, num1 > num2 ? num1 : num2);
}
// method argument
int Add((int, int) operands)
{
return operands.Item1 + operands.Item2;
}
Τα ονόματα πεδίων όπως το Item1 κ.λπ. δεν κάνουν τον κώδικα ευανάγνωστο. Ο παρακάτω κώδικας δείχνει 2 τρόπους για να ονομάσεις τα πεδία των πλειάδων. Σημείωσε επίσης, στον παρακάτω κώδικα, ότι το var μπορεί να χρησιμοποιηθεί με πλειάδες και ο τύπος συνάγεται. Αυτό λειτουργεί εξίσου καλά για πλειάδες με ονομασμένα και ανώνυμα πεδία.
// name items in declaration
(bool success, string message) results = (true, "well done!");
bool mySuccess = results.success;
string myMessage = results.message;
// name items in creating expression
var results2 = (success: true, message: "well done!");
bool mySuccess2 = results2.success;
string myMessage2 = results2.message;
Σε αυτή την άσκηση θα αναλύσεις αριθμούς τηλεφώνου.
Θα χρειαστεί να υλοποιήσεις 2 δυνατότητες.
Οι αριθμοί τηλεφώνου που περνούν στις ρουτίνες είναι εγγυημένο ότι έχουν τη μορφή NNN-NNN-NNNN, π.χ. 212-515-9876, και δεν είναι null.
Η ανάλυσή σου θα πρέπει να επιστρέφει 3 στοιχεία δεδομένων
Υλοποίησε τη (στατική) μέθοδο PhoneNumber.Analyze() για να παράγεις τις πληροφορίες του αριθμού τηλεφώνου.
PhoneNumber.Analyze("631-555-1234");
// => (false, true, "1234")
Υλοποίησε τη (στατική) μέθοδο PhoneNumber.IsFake() για να εντοπίσεις αν ο αριθμός τηλεφώνου είναι ψεύτικος, χρησιμοποιώντας τις πληροφορίες του αριθμού τηλεφώνου που παράγονται στην εργασία 1.
PhoneNumber.IsFake(PhoneNumbers.Analyze("631-555-1234"));
// => true
Γράψου στο Exercism για να μάθεις και να κατακτήσεις C# με 62 έννοιες178 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.