Je viens d'un assembleur et d'un arrière-plan C/C++, donc je comprends le concept derrière les types de référence par rapport aux types de valeur dans vb.net. En outre, j'ai lu Jon Skeet's article concernant les références et les types de valeur et je comprends tout cela.Déterminer si un type est un type de référence ou un type de valeur
Ma question est: Comment pouvez-vous dire si un type donné est un type de référence ou un type de valeur?
Est-ce simplement que tous les types entiers (ints, flottants, etc.) sont des types de valeur et que toutes les classes sont des types de référence? (Si oui, où les chaînes tombent?)
Question 2 (liée): Est-il possible de déclarer une classe comme une classe de valeur par rapport à une classe de référence? Par exemple (en utilisant une extrême brièveté):
Public Class MyClass1
Public Value As Integer
End Class
En utilisant cette classe:
Dim test1 As New MyClass1
test1.Value = 1
Dim test2 As MyClass1
test2 = test1
test2.Value = 2
A la fin de ce code, la valeur est 2. Il est clair que Test1, MyClass1 est un type de référence. Mais, qu'est-ce qui le fait être tel et pas un type de valeur?
Merci beaucoup! J'ai eu du mal à comprendre cela pendant un moment. Les liens MSDN aident beaucoup. – Richard
Bonne réponse. Les structures dans VB.net peuvent également contenir du code, btw. Ils ne peuvent tout simplement pas enregistrer l'état – DarinH