2015-03-02 12 views
6

Ben C# dizi bilgisayar hafızasında nasıl yerleştirildiğine görmek istiyorum. Ben görmek istiyorum neBir C# dizisinin bellekte nasıl yerleştirildiğini nasıl görebilirsiniz?

başlıca iki sütun ikinci dizi elemanları ile adreslerle biridir. Mümkün mü?

Ben 1D dizisi ile başlamak ama sonra ne şekilde görüneceğini çok boyutlu diziler incelemek isterim istiyorum.

Nasıl VisualStudio aracılığıyla görebiliyorum Soru?

+0

.NET'te bellekte işler nasıl yapılır bir uygulama detayıdır - yani CLR ve Mono arasında veya hatta farklı sürümleri arasında bir fark bulabilirsiniz. Muhtemelen hayır, ama mümkün. Bir .NET geliştiricisi olarak, genellikle ne umursaya da gerek yok - ne için bulmaya çalışıyorsunuz? –

+2

Bu soru neden kapatılıyor? Her bir .net geliştiricisinin –

+0

'u bilmesi gereken bir soru, çok boyutlu dizilerde manipülasyonla ilgileniyorum. Bu soru, sadece çok boyutlu dizilere girmeden önce temelleri nasıl kontrol edeceğimi bilmek. Bu sorunun daha iyi/daha basit bir şekilde yeniden düşünülmesini düşünemiyorum. Çok iyi cevaplar için teşekkürler Hans. – user1146081

cevap

14

Sen dizi düzenini görmek için Visual Studio hata ayıklayıcı kullanabilirsiniz. Basit bir örnek: Project + Properties, Build sekmesi, Platform target = x86 kullanın. o Adres kutusuna ayıklama + Windows + Bellek + Bellek 1. Type arr kullanmak vurur belirtilen çizgi basın F5, bir kesme noktası ayarlayın. Pencereyi sağ tıklayın ve "4 Byte Integer" seçeneğini seçin. Bu gibi görünüyor:

enter image description here

ilk kelime "tip kolu" dir, değeri rastgele görmezden gel. Geri kalanını tahmin edemezsin, Uzunluğu ve dizi elemanlarını görüyorsun.

+0

Özgün sorudaki bir yorumcu olan Hans şöyle demiştir: "_How nesneler, .NET'de bir uygulama detayıdır.", Bir dizinin _can_ bir ardışık bellekte bellekte saklanacağı anlamına mı geliyor? –

+2

Hmm, nasıl uygulandığını bilmediğinizde bir "uygulama detayı" dır. Dizi elemanları her zaman sırayla saklanır. –

0

Sen sos veya psscor uzantılı WinDbg'yi kullanabilirsiniz.

İlgili konular