C# TA METOTLAR (FONKSİYONLAR)

Değerli Arkadaşlar bu yazımda sizlere belki C ve C++ biliyorsanız çokça kullandığınız fonksiyonları yani C# ta ki karşılığıyla metotları anlatacağım sizlere.Metotların ne denli önemli olduğunu effectif ve dinamik uygulamalar yazan arkadaşlar bileceklerdir ben yinede bilmeyenler için anlatacağım bu yazımda..

Peki Metot yada C,C++ daki deyimiyle Fonksiyon nedir..?? Programın Herhangi Biryerinde Kullanmak İçin Belirli Bir İşi Yerine Getirmek Amaçıyla Tasarlanmış Alt Programlara  veya kod kümesine ‘METOT’ Denir.METOT’lar Tek Başlarına Çalışabilen Yapılar Değildirler.Metot kendisini Çagıran Ana Programa Bir Takım Yararlı ve kendisinden beklenen İşleri Yapar.Metot’lar Mutlaka Bir Sınıfın İçerisinde Olmalıdırlar.



C# ta metotların kullanımını formülüze edecek olursak şöyle bir yapı karşımıza çıkar:

Erişim Belirteçleri   Geri Dönüş Degeri  Metot İsmi (Parametre Listesi)
{
Metodun Gövdesi yani kodları…
}

Şimdi yukarıda ki formüldeki bilinmeyen kelimelere açıklık getirelim:

Erişim Belirteçleri: Erişim belirteçleri C# ta diğer dillerde olduğu gibi Class lara,değişkenlere,metotlara dışarıdan yani class dışında erişilip erişilmeyeceğini vereceğimiz anahtar kelimelerle belirliyoruz.Bu belirteçler Public,Private,Protected ve yeni gelen bir özellik ise Sealed dır fakat bu Class lara özgü bir erişim belirtecidir metotlar için değildir.Bu kavramları ilerde daha geniş anlatacağım ancak şimdilik kısaca nolduklarından bahsedeyim.

Public:Public bir metoda kendi bulunduğu class dışındaki class lardanda erişilebilir zaten class ın kendi içindeki elemanlarını veya metotlarını aynı class taki tüm metotlar ve değişkenler kullanabilir.

Private: Private bir metodsa Sadece kendi bulunduğu class ın elemanlarının kullanabildiği metot belirteçleridir yani dışarıdan farklı bir class private metodu bulunan bir class ın bu metoduna asla erişemez hatta ve hatta miras alsa bile erişemez.

Protected:Sadece ve Sadece kendisini miras alan class tarafından kullanabilecek türde bir erişim türü belirtecidir yani protected metotlara o metodun bulunduğu class ı miras alan class onu tıpkı bir Public metot gibi kullanacaktır onun dışında ki dış class lara private metot gibidir.

İşte size C# ta bir kaç tane basit metot örneği:

Public int topla (int a,int b)
{
return a+b;
}

Private void carp ( )
{
int x=a*a+b*b; // a ve b public değişkenlerdir
}

Şimdi Sizlere Bol metod kullanımını gösteren temel bir uygulamayı verecem ardından çıktısını görecez umarım sizler için faydalı bir uygulama olacaktır.

//Kütüphane kodları
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static int recursive(int x) // Rekürsif Fonksiyon
{
if(x==1)
return 1;
else
return x*recursive(x-1);
}

static int fibonnacci(int x)
{
if (x == 0)
return 0;
if (x == 1)
return 1;
else
return fibonnacci(x – 1) + fibonnacci(x – 2);
}
static void dizi()

{

Random rnd = new Random();

Console.Write(“1.Dizinin Boyunu Gir:”);

int lenght=Convert.ToInt32(Console.ReadLine());

int[] p = new int[lenght];

Console.Write(“\n2.Dizinin Boyunu Gir:”);

int size = Convert.ToInt32(Console.ReadLine());

int[] q = new int[size];

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

p[i] = rnd.Next(10);

for (int j = 0; j < q.Length; j++)

q[j] = rnd.Next(10);
commpare(p, q);
}
static void print(int[] p)
{

foreach (int i in p)

Console.Write(” ” + i);

}
static void commpare(int[] p, int[] q)
{

int count = 0;
int[] k = new int[p.Length + q.Length];

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

k[i] = p[i];

for (int j = 0; j < q.Length; j++)
{

for (int z = 0; z < k.Length;z++)

if (k[z] == q[j])

count++;

if (count == 0)

for (int t = p.Length – 1; t < k.Length; t++)

k[t] = q[j];

count = 0;

}

print(p);

Console.Write(“\n”);

print(q);

Console.Write(“\n”);

print(k);
}
static void Main(string[] args)

{

Console.WriteLine(“\t\tMEHMET SALIH DEVECI\n”);

dizi();

Console.ReadLine();

}
}
}

Not:Bu uygulamada Amacım bol metot yazıp metot nasıl yazılır onu göstermek uygulamayı yazarken herhangi bir amaçla bir metod yazmadım sadece nasıl yazıldığını göstermek amacıyla ve her türden bilginin kullanımını göstermek amacıyla yazdım işte uygulamanın çıktısı:

Böylelikle bu yazımıda tamamladım bir sonraki makalemde görüşmek ümidiyle esen kalın…!!!

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com.-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

2 thoughts on “C# TA METOTLAR (FONKSİYONLAR)

  • January 10, 2012 at 5:49 pm
    Permalink

    Yarın yazılım vardı saolun

    Reply
  • January 14, 2013 at 8:36 pm
    Permalink

    öncelikle tebrik ederim lise3.sınıf öğrencisiyim ben hocamın anlatışını pek beğenmiyorum acaba siz metotu hıc bilmeyen bır öğrenciye daha ince ayrıntılarıyla anlatırmısnz return felan var mesela nasıl metot çağırılır.. bunları bn hıc bılmıyorum… daha ayrıntılı anlatmanızı beklerdim hemen kodlara geçmişsnz

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *