Son Haberler
Anasayfa / Yazılım / C# / Metotlarda Opsiyonel Parametreler Oluşturmak

Metotlarda Opsiyonel Parametreler Oluşturmak

.NET’te metotlarımızı oluştururken bu metotlara parametreler verebileceğimizi yani argümanlar verebileceğimizi biliyoruz. Bununla birlikte metotları oluşturduğumuzda opsiyonel parametre kullandırma hakkına da sahibiz. Ne demek istiyorum demek istediğim şu, diyelim ki biz bir metod oluşturduk bu metotta iki parametre kullanılacak. Yani iki değer alacak, ama birisinin aynı zamanda varsayılan değeri var. Eğer kullanıcı bu metodu kullanırken ikinci bir değer girmez ise varsayılan olarak buradaki değer kullanılacak. Yani ikinci değeri girmesi opsiyonlu olmuş olacak. Örnek olarak UsAl adında bir metot oluşturalım:

public static int UsAl( int TabanDeger, int UsDeger = 3 )

Burada UsAl adında bir metodum var. Bu metodum iki değer alacak. Ancak ilki taban değeri olacak ama ikinci değer eğer kullanıcı tarafından girilmez ise varsayılan olarak 3 kabul edilecek. Eğer kullanıcı değer girerse bu 3 yok sayılacak, kullanıcının girdiği değer geçerli olacak. Ve bu değerde Us olarak kullanılacak. Burada opsiyonelliği sağlayan operatörümüz = operatörüdür. Eşittir operatörü sayesinde opsiyonelliği tanımlayabiliyor ve varsayılan bir değer atayabiliyoruz.

Kullanıcı diyelim ki UsAl() şeklinde yazarsa metot çalışmaz. Ama kullanıcı UsAl(5); yazarsa çalışır. Varsayılan olarak 3 ü kullanır ve sonucu 5*5*5 şeklinde 125 bulur. Eğer kullanıcı diyelim ki kendisi de değer girerse UsAl(2,5) gibi, bu sefer us değeri olarak varsayılan 3 değeri işlem görmez, 5 işlem görür. 2*2*2*2*2 ile sonuç 32 olur.

Şimdi bu örneği koda dökelim ve yazımızı bitirelim. Console Application açıyorum.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication16
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("üs Alma İşlemi (5) = {0}", UsAl(5));
            Console.WriteLine("üs Alma İşlemi(2, 10) = {0}", UsAl(2, 5));

            Console.ReadLine();

        }
        //metodumu oluşturuyorum, ikinci parametrem opsiyonel
        public static int UsAl (int TabanDeger, int UsDeger = 3)
        {
            int sonuc = 1;

            for (int sayac = 1; sayac <= UsDeger; sayac++)
            {
                sonuc *= TabanDeger;
            }

            return sonuc;
        }
    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir