Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
8
Cevap
158
Tıklama
0
Öne Çıkarma
c#'ta call by value ve call by referance'ı doğru anlamış mıyım ?
D
8 yıl
Yüzbaşı
Konu Sahibi

şimdi burada call by value var :
using System;

namespace ConsoleApplication16
{

class Program
{

static void degertipi(int deger)
{

deger = 50;

}

static void Main(string[] args)
{
int a = 10;
Console.WriteLine(a);
degertipi(a);
Console.WriteLine(a);

}
}
}

____________________________

anladığım şey şu ilk başta mainden başlanılıyor daha sonra a değişkenine 10 değeri atanıp a değişkeni yazdırılıyor daha sonra degertipi metodunun içine 10 gönderiliyor ve daha sonra bu metod bi şey yapmıyor daha sonra aşağıdaki Console.WriteLine'da 3 satır önce atadığımız 10 değişkeni tekrar yazdırılıyor. bunu böyle anladım yanlış mı anlamışım ?


________________________________

bir de aşşağıda call by referance var bunuda nasıl anladığımı açıklayayım ona göre doğruysa doğru diyin yanlışsa beni düzeltin:

using System;

namespace ConsoleApplication16
{

class Program
{

static void referanstipi(string[] Deger)
{

DEger[0] = "100";

}

static void Main(string[] args)
{
string[] a = {"10","50" };
Console.WriteLine(a[0]);
referanstipi(a);
Console.WriteLine(a[0]);

}
}
}

/* şimdi burada da a değişken dizisine string biçimde 10 ve 50 atanmış daha sonra 0 ıncı elamanı yazdırılmış daha sonra refaranstipi(a) olan yere a değişkenin adresi kopyalanmış daha sonra yukarıdaki referanstipi metodununa geçilip heap'te tutulan a[0] degerine "100" atanmış ve böylece alttaki yani main içindeki a[0] da değişmiş ve böylece ekrana 100 yazdırmış. doğru muyum ?
*/

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 2 Nisan 2017; 16:30:14 >