Eğer bir varlık değişmez olacaksa, bir yapı mı yoksa sınıf mı kullanılacağı sorusu anlambilimden ziyade genellikle performanstan biri olacaktır. 32/64-bit bir sistemde, sınıf referansları, sınıftaki bilgi miktarından bağımsız olarak depolanması için 4/8 bayt gerektirir; sınıf referansını kopyalamak 4/8 bayt kopyalamayı gerektirir. Öte yandan, her farklısınıf örneği, sahip olduğu bilgilere ve referanslara ilişkin bellek maliyetine ek olarak 8/16 bayt ek yüke sahip olacaktır. Her birinin dört adet 32 bitlik tam sayıya sahip 500 varlıklık bir dizi istediğini varsayalım. Varlık bir yapı türüyse, dizi, 500 varlığın tümü aynı, hepsi farklı veya aralarında bir yer olup olmadığına bakılmaksızın 8.000 bayt gerektirir. Varlık bir sınıf türüyse, 500 başvuru dizisi 4.000 bayt alır. Bunların tümü farklı nesnelere işaret ediyorsa, nesnelerin her biri ek 24 bayt (500'ün tamamı için 12.000 bayt), toplam 16.000 bayt - bir yapı türünün depolama maliyetinin iki katı gerekir. Öte yandan, kod bir nesne örneği oluşturdu ve daha sonra 500 dizi yuvasına bir referans kopyaladı, toplam maliyet o örnek için 24 bayt ve 4, Dizi için 000 - toplam 4.024 bayt. Büyük bir tasarruf. Sonuncunun yanı sıra çok az sayıda durum işe yarayacaktır, ancak bazı durumlarda bu tür paylaşımları değerli kılmak için yeterli sayıda dizi yuvasına bazı referanslar kopyalamak mümkün olabilir.
Varlığın değişebilir olması gerekiyorsa, bir sınıf veya yapı kullanılıp kullanılmayacağı sorusu bazı açılardan daha kolaydır. "Şey" in, x adında bir tamsayı alanına sahip bir yapı veya sınıf olduğunu ve birinin aşağıdaki kodu yaptığını varsayalım:
Şey tl, t2;
...
t2 = tl;
t2.x = 5;
İkinci ifade t1.x'i etkilemek ister mi?
Şey bir sınıf tipiyse, t1 ve t2 eşdeğer olacaktır, yani t1.x ve t2.x de eşdeğer olacaktır. Böylece, ikinci ifade t1.x'i etkileyecektir. Şey bir yapı tipiyse, t1 ve t2 farklı örnekler olacaktır, yani t1.x ve t2.x farklı tamsayıları ifade edecektir. Dolayısıyla, ikinci ifade t1.x'i etkilemeyecektir.
Değişken yapılar ve değişebilir sınıflar temelde farklı davranışlara sahiptir, ancak .net'in yapısal mutasyonları ele almasında bazı tuhaflıkları vardır. Kişi değer türü davranışlar istiyorsa ("t2 = t1" ifadesinin, t1 ve t2'yi ayrı örnek olarak bırakırken verileri t1'den t2'ye kopyalayacağı anlamına gelir) ve .net'in değer türlerini işleyişindeki tuhaflıklarla yaşayabiliyorsa, yapı. Birisi değer türü anlambilim istiyor, ancak .net'in tuhaflıkları kişinin uygulamasında değer türü anlambilimine yol açacaksa, bir sınıf ve mumble kullanın.