[Linux-programlama] Re: C# referans tipleri

---------

[Linux-programlama] Re: C# referans tipleri

From: Deniz Dizman <deniz.dizman_at_gmail.com>
Date: Wed, 21 Nov 2007 12:07:06 +0200
Message-ID: <5a4dde460711210207x5165d6f0t3fe00c08afa4bdb6@mail.gmail.com>

yanilmiyorsam java da oldugu gibi c sharpta da stringler "immutable", yani
bir string objesine yapilan her atamada bellekte yeni bir obje
olusturuluyor. Sizin yaptiginizinla memory durum soyle oluyor:
string a = "test"; dediginizde diyelim ki a degisikeni icin 0100 adresine
"test" degeri ataniyor ve a 0100 u gosteriyor
string b = a; dediginizde b de 0100 u gosteriyot
a = "deneme"; dediginiz zaman 0110 a test yaziliyor ve a degiskeni 0110 u
gosteriyor.
b yuzden nin degeri degismiyor.
aslinda a = "deneme" su demek: a = new String("deneme"); (java icin)

On Nov 19, 2007 11:14 PM, Neşet ÖZKAN <nozkan_at_gmail.com> wrote:

> Merhaba;
> Anladığım kadarı ile C# ta iki adet yerleşik referans veri tipi var,
> string
> object
>
> Eğer ben yanlış anlamadıysam okuduğum kitaba göre referans veri
> tiplerini birbirine eÅŸitlediÄŸimizde
> değerleri değil heap bölgesindeki adreslerini eşitlemiş oluyoruz yani;
> string a="test"
> string b=a
>
> dediğimde b değişkeninin heap bölgesindeki adresi a değişkeninin adresi
> ile aynımı oluyor.
> eğer böyleyse ki referans tiplerinde böyle olması gerekiyor gibi
> görünüyor(muhtemelen ben bir şeyi atlıyorum yada yanlış anlıyorum)
> Bu durumda a değerinde bir değişikli yaptığımda b değerinin de otomatik
> olarak bu deÄŸiÅŸiklikten etkilenmesi gerekmiyormu ?
> Benim denemelerimde etkilenmiyor gibi görünüyor.
> Yani;
> string a="test"
> string b=a
> a="deneme"
> dediÄŸimde
> b nin değerinin de "deneme" olması gerekmiyormu?
>
> Biri bana neyi yanlış anladığımı yada anlayamadığımı söyleyebilirse
> sevinirim.
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

-- 
dendiz
http://dendiz.blogspot.com

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Wed 21 Nov 2007 - 11:33:20 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.