Sayfalar

ToolBars

Get our toolbar!

11 Mayıs 2013 Cumartesi

CSharp Metotlar


Metotlar içlerinde bir ve ya birden fazla ifadeler olan kod satırlarıdır. Buna bir programda iş yapan asıl kodların bulunduğu kısım da diyebiliriz.
Genel olarak söz dizimi altta görüldüğü gibidir. Ama duruma göre değişiklik gösterebilir.

Syntax:

erişim static donusum-tipi metodun-ismi ( tipi isim, tipi isim )
{
//çalışacak kodlar.
}


Resim: csharp-metot-01

csharp-metot-01


Yukarda resimde genel bir metot söz dizimi yapılmış olup açıklaması altta yapılmıştır.

erişim:

Bu metoda nasıl erişileceğini gösteren "Public", "Private", "Protected", "Internal", "Protected Internal" anahtar kelimelerinden biri yazılabilir.
Eğer sadece bulunduğu uygulama içinde geçerli olacak ise bu kısım boş bırakılabilir.

Örnek:

public void Hesapla()
{
}


static:  

Genel olarak bir uygulama içinde bir sınıf nesnesi oluşturmadan o sınıfa ait metot, özellik gibi elemanlarına erişmek için kullanılan bir anahtar kelimedir.


Örnek:
static void Hesapla()
{
}

donuşum-tipi:

Eğer metot bir değer döndürmeyecekse "Void" anahtar kelimesi kullanılır.

Örnek:
public void Hesapla()
{
}

Eğer bir değer döndürecekse döndürülecek olan (int, string gibi) değer yazılır.

Örnek:
public int Hesapla()
{
}

metodun-ismi:  

Metot için bir isim yazılır.

Örnek:
public int Hesapla()
{
}

parametreler:

Aynı değişken tanımlamalarda olduğu gibi önce değerin tipi yazılır sonra bu değerin adı yazılır. Birden fazla parametrelerde aralarına virgül konulur.

public int Hesapla(int sayi1, int sayi2)
{
}

Genel özellikleri:

Her metodun bir ismi vardır ve o isimle de çağrılır.
C#  anahtar kelimeleri ve Main haricinde istenilen bir isim kullanılabilir.
Eğer bir metot değer döndürmüyorsa dönüş değeri olarak "void" kullanılmalıdır.
Bir metoda aktarılan değere arguman denir. Metot içinde argümanı kabul eden değişkene parametre denir.
Parametre olarak tip ve tanımlayıcılar aralarına virgül konularak yazılır.
Parametreler, metot çağrıldığında metoda aktarılan argümanların değerini alan değişkenlerdir.
Metotlar hiç parametre de almayabilir.

Metottan çıkış:

İki koşulda metottan çıkış olur. 
1.Metodun kapanan küme parantezine gelmesi.
2.Return ifadesinin çağrılması. Kod içinde "return" ifadesi çağrıldığında metodun geri kalan kodları atlanarak metodu çağıran koda dönüş yapılır.

Bu açıklamalardan sonra örnek uygulamalar altta verilmiştir.

Örnek 1: Değer döndürmeyen metot (void)
using System;
namespace Metotlar
{
class Program
{
static void Merhaba()
{
Console.WriteLine("Merhaba");
}
static void Main(string[] args)
{
Merhaba();
Console.ReadLine();
}
}
}

Örnek 2: Değer döndüren metot. Bu örnekte değer döndürme "int" tipindedir.

using System;
namespace Metotlar
{
class Program
{
static int topla()
{
int sayi1 = 10;
int sayi2 = 22;
return sayi1 + sayi2;
}
static void Main(string[] args)
{
int sonuc = topla();
Console.WriteLine(sonuc);
Console.ReadLine();
}
}
}


Örnek 3: Parametre olarak "int" değer alan metot. 
using System;
namespace Metotlar
{
class Program
{
static int topla(int sayi1, int sayi2)
{
return sayi1 + sayi2;
}
static void Main(string[] args)
{
int toplam = topla(12, 25);
Console.WriteLine(toplam);
Console.ReadLine();
}
}
}




Örnek 4: Parametre olarak "string" değer alan metot. 
using System;
namespace Metotlar
{
class Program
{
static void Ad(string isim)
{
Console.WriteLine(isim);
}
static void Main(string[] args)
{
Ad("akobey");
Console.ReadLine();
}
}
}



Örnek 5: Parametre olarak "string" değer alan metot.

using System;
namespace Metotlar
{
class Program
{
static void Ad(string isim)
{
Console.WriteLine("Merhaba " + isim);
}
static void Main(string[] args)
{
Ad("akobey");
Console.ReadLine();
}
}
}

 

Örnek 6: Parametre olarak "int" ve "char" değer alan metot.
using System;
namespace Metotlar
{
class Program
{
static int Hesapla(int x, int y, char sembol)
{
int sonuc = 0;
switch (sembol)
{
case '+':
sonuc = x + y;
break;
case '-':
sonuc = x - y;
break;
case '*':
sonuc = x * y;
break;
case '/':
sonuc = x / y;
break;
}
return sonuc;
}
static void Main(string[] args)
{
int gelen_sonuc = Hesapla(10, 23, '*');
Console.WriteLine(gelen_sonuc);
Console.ReadLine();
}
}
}



Örnek 7: Parametre olarak dizi alan metotlar.

using System;
namespace Metotlar
{
class Program
{
static void DiziNumara(int[] numara, string deger)
{
Console.WriteLine(deger);
foreach (int no in numara)
{
Console.WriteLine(no.ToString());
}
}
static void Main(string[] args)
{
int[] numara = new int[5];
numara[0] = 12;
numara[1] = 45;
numara[2] = 36;
numara[3] = 24;
numara[4] = 78;
DiziNumara(numara, "Numaralar :");
// Alttaki gibide yazılabilir.
// DiziNumara(new int[] { 12, 45, 36, 24, 78 }, "Numaralar :");
Console.ReadLine();
}
}
}

Örnek 8: Params anahtar kelimesini parametre alan metot.

using System;
namespace Metotlar
{
class Program
{
static void ParamsDizi(string deger, params int[] numara)
{
Console.WriteLine(deger);
foreach (int no in numara)
{
Console.WriteLine(no);
}
}
static void Main(string[] args)
{
ParamsDizi("Numaralar : ", 12, 45, 36, 24, 78);
Console.ReadLine();
}
}
}

Hiç yorum yok:

Yorum Gönder