Junior — Middle
Πώς πραγματοποιείται η μεταφορά δεδομένων μέσα σε μια λειτουργία ή μέθοδο;
sobes.tech AI
Απάντηση από AI
Στην C#, η μεταφορά δεδομένων σε μια συνάρτηση ή μέθοδο μπορεί να πραγματοποιηθεί με διάφορους τρόπους:
- Αντιγραφή τιμής (by value) — αντιγράφεται η τιμή του επιχειρήματος. Οι αλλαγές μέσα στη μέθοδο δεν επηρεάζουν τα αρχικά δεδομένα.
- Με αναφορά (ref) — περνάει μια αναφορά στη μεταβλητή, οι αλλαγές μέσα στη μέθοδο αντικατοπτρίζονται στο αρχικό.
- Παράμετρος εξόδου (out) — χρησιμοποιείται για την επιστροφή δεδομένων από τη μέθοδο στον καλούντα κώδικα, η μεταβλητή δεν χρειάζεται να είναι αρχικά αρχικοποιημένη.
- Παράμετροι με τη λέξη-κλειδί
in— μεταφορά μέσω αναφοράς, αλλά μόνο για ανάγνωση μέσα στη μέθοδο.
Παράδειγμα:
void UpdateValue(ref int x) {
x = 10; // θα αλλάξει την τιμή της μεταβλητής που περνάει με αναφορά
}
int a = 5;
UpdateValue(ref a);
// τώρα a == 10