C# Params,Out ve Ref Kullanımı

Batuhan Düzgün tarafından yayınlanmıştır 13. February 2012 01:53

Merhaba arkadaşlar bu yazımda sizlerle C# programlama dilindeki Params,Out,Ref anahtar kelimelerini ve bunlara dair örnek anlatacağım.Aslında bu kelimeler programlama yaparken gayette yararlıdır.İşaretçilerin yerini tutabilen anahtar kelimelerdir,diyebiliriz.

Ref Nedir?

Ref anahtar kelimesi  C# dilinde,işaretçilerin yerini tutar,ref anahtar kelimesi ile kullanılan değişkene mutlaka ilkleme işlemi yapılmış olmalıdır.Yani değişkene bir değer atanmış olmalıdır.

 

Out Nedir?

Out anahtar kelimesi  C#  dilinde bir metoddan(fonksiyondan) birden fazla parametre döndürmek için kullanılır.Bu anahtar kelime yardımıyla bir metoddan çok sayıda parametre döndürme işlemi yapılır.Out anahtar kelimesi ile işaretlenmiş değişkenin ilkleme işlemine tabi tutulmuş olması gerekmemektedir.

 

Params Nedir?

Bu anahtar kelimemiz bir metoda kaç adet parametre’nin gönderileceğinin belirsiz olduğu durumlarda kullanılır.Bu anahtar kelime ile bir metoda 5 değişken veya 2 değişken yollanabilir.Parametre sayısında bize esneklik ve dinamiklik sağlar.

 

Ref  ve Out Örneğimiz …

Yapacağımız örnek Console ortamında gerçekleştirilmiştir.Yapacağımız işlem gayet basit aslında,kullanıcıdan ad ve soyad bilgisi alıp bu iki ifadeyi tek ortak bir ifade haline getiren ve  “Batuhan  Duzgun”   ifadesine eşit olduğunda  5 kere bip sesi ile mesaj verecek olan ve ardından birleştirilmiş cümleyi ekrana yazdıran bir program yapacağız.

İlk olarak metodumuzu tanımlayalım.Metod ismimiz  “CumleBirlestir”  şeklinde olacaktır.Aşağıda kodlar verilmiştir.

 

static void CumleBirlestir(ref string Cumle1,ref string Cumle2,out string Cumle) {

 

            Cumle = Cumle1 +" "+ Cumle2;

            if (Cumle == "Batuhan Duzgun") {

 

                for (int i = 0; i < 5; i++){

                    Console.Beep();

                    System.Threading.Thread.Sleep(1500);

                }

            }

        }

Şimdide “main” metodumuza ait kodları yazalım.

static void Main(string[] args)

        {

            Console.WriteLine("Isimizi giriniz?");

            string Adi = Console.ReadLine();

            Console.WriteLine("Soyadinizi giriniz?");

            string SoyAdi = Console.ReadLine();

            string Ad_SoyAd;

            CumleBirlestir(ref Adi,ref SoyAdi,out Ad_SoyAd);

            Console.WriteLine("Metod calistiktan sonra Cumle degiskenin degeri : " + Ad_SoyAd);

            Console.ReadLine();

        }

Params   ile  ilgili  örnek …

Bu  örnekte metoda  toplanmak üzere sayısı sabit olmayan,değişken olan parametreler gelecektir.Bunun için params anahtar sözcüğünü kullanacağız.Metoda ait kodlar  aşağıdaki gibidir.

static double ToplamaSonucu(params double[] Degerlerimiz) {

 

            double Toplam = 0.0;

 

            for (int i = 0; i < Degerlerimiz.Length; i++) {

 

                Toplam += Degerlerimiz[i];

            }

 

            return Toplam;

        }

“main”  metodumuza ait kodlar aşağıdaki gibidir.

static void Main(string[] args)

        {

           

            Console.WriteLine("Toplam : "+ToplamaSonucu(5, 6, 7.5, 8, 11,2,5.5));

 

            Console.WriteLine("Toplam : " + ToplamaSonucu(4, 3.2, 1));

 

            Console.ReadLine();

        }

 

Evet bir yazımın daha sonuna gelmiş bulunuyorum.Bir sonraki makalemde görüşmek dileğiyle …

Batuhan Düzgün

Bilgisayar Mühendisi

Endüstri Mühendisi 

Currently rated 3.5 by 6 people

  • Currently 3.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

C#

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  September 2018  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

Yazıları geniş takvimde göster