string
Est-ce qu'un type de référence ou un type de valeur? Quelqu'un peut-il donner une description correspondante?Type de valeur de chaîne ou type de référence
Répondre
string
est un type de référence immuable. Ci-dessous un court exemple:
// All of these point to the same string in the heap
string hello = "Hello World!"; // creates string
string hello2 = "Hello World!"; // uses the previous string from the intern pool
string hello3 = hello2;
Si vous cherchez plus d'informations, consultez le poste de Jon Skeet:
System.String
dans le cadre de .net est un type de référence, très bonne explication est celle de Jon Skeet: C# in Depth: Strings in C# and .NET. Les points clés de son article sont:
- Il est un type de référence
- Il est immuable
- Il peut contenir des valeurs nulles
- Il surchargent l'opérateur ==
Le dernier point est celui qui fait string
se comporte comme un type de valeur à des moments que vous pouvez écrire:
string s1 = "value";
string s2 = "value";
// result will be true.
bool result = (s1 == s2);
En fait, c'est un exemple malheureux - l'internalisation de chaîne rendrait cela même sans surcharger. –
@Jon - J'avais oublié à ce sujet - Cantcha dire que c'était presque hometime! : S – Rob
Découvrez le chapitre Strings in C# and .NET de notre propre maître, John Skeet, de son livre 'C# in Depth'. Cela vous dit tout ce que vous devez savoir.
- 1. Type de valeur et type de référence
- 2. Déterminer si un type est un type de référence ou un type de valeur
- 3. Type de référence de chaîne C#?
- 4. Répétiteur itemdatabound type de valeur d'événement et type de référence
- 5. type entier refrence valeur de type String
- 6. Incompatibilité de type: '[chaîne: ""]'
- 7. déduction de type de modèle de référence
- 8. Type de référence non transmis comme référence
- 9. Forcer un type de valeur (générique) à être une référence
- 10. StreamWriter vers le type de référence
- 11. Spécifier la valeur par défaut pour un type de référence
- 12. C# Type de référence de propriété?
- 13. Où sont stockés les types de valeur définis dans un type de référence (tas ou pile)?
- 14. Clonage d'un type de référence C# vers un type de référence dérivé
- 15. chaîne une partie de type valeur de génériques contrainte
- 16. Conversion implicite et explicite d'un type de référence en un autre type de référence?
- 17. ce qui est des moyens de type valeur et le type de referance dans .net
- 18. Conversion de type chaîne de type défini par l'utilisateur
- 19. convertir la chaîne en valeur type
- 20. Gorm retourné type de valeur
- 21. Pourquoi Int32 est un type de valeur?
- 22. Vérification C++ du type de référence
- 23. multiple de type drupal contenu référence
- 24. Type de valeur de distribution vers générique
- 25. DDD: étiquette SO. Une entité ou un type de valeur?
- 26. Expression.Constant (valeur, type) type est inconnu. Comment définir le type
- 27. asp.net mvc - Route pour chaîne ou int (ie/type/23 ou/type/chapeaux)
- 28. Opérateurs de conversion de type référence: demander des problèmes?
- 29. Type de données Valeur de date d'initialisation
- 30. Type de valeur de liaison C++ Boost
Un vote de clôture comme "Subjectif et Argumentatif"? Qu'est-ce qui est subjectif à propos de cette question, sérieusement? – Rob
Comment est-ce "pas une vraie question", d'ailleurs? –