Junior
Τι είναι η περιοχή ορατότητας (scoped) σε C#;
sobes.tech AI
Απάντηση από AI
Ο πεδίο ορατότητας σε C# καθορίζει τη διαθεσιμότητα μεταβλητών, μεθόδων και τύπων σε ένα συγκεκριμένο μέρος του προγράμματος. Είναι ένας περιορισμός σχετικά με το πού στον κώδικα μπορεί να χρησιμοποιηθεί ένας συγκεκριμένος αναγνωριστικός χαρακτήρας.
Βασικά πεδία ορατότητας:
- Μπλοκ κώδικα: Οι μεταβλητές που δηλώνονται μέσα σε αγκύλες
{ }είναι διαθέσιμες μόνο μέσα σε αυτό το μπλοκ. - Πεδίο μεθόδου: Οι μεταβλητές και οι παράμετροι που δηλώνονται μέσα σε μια μέθοδο είναι διαθέσιμες μόνο μέσα σε αυτή τη μέθοδο.
- Πεδίο κλάσης/δομής: Τα μέλη μιας κλάσης ή δομής (πεδία, ιδιότητες, μέθοδοι) είναι διαθέσιμα ανάλογα με τους τροποποιητές πρόσβασης (public, private, protected, internal).
- Πεδίο χώρου ονομάτων: Τύποι που δηλώνονται σε έναν χώρο ονομάτων είναι διαθέσιμοι σε αυτόν τον χώρο και σε άλλους χώρους ονομάτων όπου χρησιμοποιείται το
using. - Πεδίο δέσμης (Assembly): Τύποι με τον τροποποιητή
internalείναι διαθέσιμοι μόνο μέσα στη τρέχουσα δέσμη.
Παράδειγμα πεδίου μπλοκ κώδικα:
public void ExampleMethod()
{
int x = 10; // το x είναι διαθέσιμο μόνο μέσα στη μέθοδο ExampleMethod
if (x > 5)
{
int y = 20; // το y είναι διαθέσιμο μόνο μέσα στο μπλοκ if
Console.WriteLine(y);
}
// Console.WriteLine(y); // σφάλμα μεταγλώττισης: το y δεν είναι διαθέσιμο εδώ
}