En C #, ¿están encuadrados los valores en una Lista <struct>?

Supongo que declaro una lista genérica que contiene valores de un tipo de estructura:

struct MyStruct {
    public MyStruct(int val1, decimal val2) : this() {
        Val1 = val1;
        Val2 = val2;
    }
    public int Val1 {get; private set;}
    public decimal Val2 {get; private set;}
}

List<MyStruct> list;

¿La Lista <> almacena cada valor individual como una estructura en caja, asignada individualmente en el montón? ¿O es más inteligente que eso?

Respuestas a la pregunta(7)

Su respuesta a la pregunta