string est un type de référence immuable.
Etes-vous en train d'essayer de dire? Struct lui-même est un type de valeur mais il peut contenir un type de référence.
struct Refsample<T> where T : class
Variable de type de valeur stockée dans la pile de mémoire, mais la variable de type de référence a une adresse de mémoire qui pointe vers le tas.
par exemple.
struct Refsample<T> where T : class
{
// stored in the stack as well.
public int Age;
// memory address pointing to the heap stored in the stack,
// but the actual object is stored in the heap.
public string Name;
// same as string above if T was reference type;
// otherwise, if value type, same as Age above.
public T SomeThing;
}
Une valeur de type valeur est uniquement stockée dans la pile lorsqu'elle fait (directement ou indirectement) partie d'une variable locale. Voir http://pobox.com/~skeet/csharp/memory.html –