Jaka jest definicja value class
i reference class
w języku C#?Co to jest klasa wartości i jaka jest klasa odniesienia w języku C#?
Czym się to różni od value type
i reference type
?
Zadaję to pytanie, ponieważ przeczytałem to w samodzielnym zestawie treningowym MCTS (egzamin 70-536). Rozdział 1, Lekcja 1, ocena Lekcja 4:
Trzeba utworzyć prostą klasę lub strukturę, która zawiera tylko wartość typy. Należy utworzyć strukturę klasy lub , tak aby działała jak najskuteczniej jako . Użytkownik musi być w stanie przekazać klasę lub strukturę do procedurę bez obawy, że procedura ją zmodyfikuje. Którego z poniższych założeń należy utworzyć?
Odniesienie klasa
struktura odniesienia B
wartość C klasa
struktura wartość D
Prawidłowa odpowiedź: D
Niepoprawnie: Można by utworzyć klasę odniesienia ; Jednak po przejściu do procedury może zostać zmodyfikowany jako .
B Niepoprawnie: Nie można utworzyć struktury referencyjnej .
C Niepoprawne: Można utworzyć wartość klasy ; jednak struktury są bardziej wydajne.
D Prawidłowo: Struktury wartości to zwykle najbardziej efektywne.
Zanim zredagowałeś swoje pytanie, powiedział "Klasa wartości" i "Klasa odniesienia" w przeciwieństwie do "typu". Mógł odnosić się do czegoś w tym kierunku: http://www.icsi.berkeley.edu/~sather/Documentation/EclecticTutorial/node7.html gdzie brzmi: "Na poziomie podstawowym: klasy wartości definiują obiekty, które po utworzeniu nigdy nie zmieniaj ich wartości Zmienna typu wartości może być zmieniona tylko przez ponowne przypisanie do tej zmiennej.Jeśli chcemy zmodyfikować tylko część części klasy wartości (jeden atrybut, powiedzmy), jesteśmy zmuszeni do ponownego przypisania całego obiektu "... Bez linku do artykułu, kto wie. –
Nie zredagowałem pytania. Ktoś zrobił to za mnie. To złe wydanie. Mam na myśli "value CLASS" i "reference CLASS". –
Tak, zdaję sobie sprawę, że to George Stocker zredagował twoje pytanie. Właśnie wskazywałem, że być może miałeś na myśli dokładnie to, co wpisałeś. Wygląda na to, że właśnie to wyjaśniłeś. –