Bir fonksiyondan birden fazla değer döndürmeniz mi gerekiyor? Çıkış parametreleri cevaptır.
C#’da bir uygulama oluşturuyorsanız, belirli değerleri döndürmek için işlevleri çağırmaya alışacaksınız. Bazen, tek bir işlevden birden çok değer döndürmeniz gerekebilecek durumlar olabilir.
Bunu başarmanın farklı yolları vardır. Biri, tek bir dizi içinde birkaç değer döndürmektir. Ayrıca fonksiyonun içinden birden çok global değişkene değer atayabilirsiniz.
İş mantığınıza, kapsam gereksinimlerinize veya kurallarınıza bağlı olarak, bunu başarmanın başka bir yolu da parametreleri kullanmaktır.
Çıkış Parametresi Nedir?
Bir fonksiyondan değer döndürmenin standart yolu “return” anahtar sözcüğünü kullanmaktır. Bir fonksiyonun ne olduğuna aşina değilseniz, programlamadaki fonksiyonlar hakkında daha fazla bilgi edinebilirsiniz . Ayrıca diğer temel programlama ilkelerini de keşfedebilirsiniz .
static void Calculation()
{
double number = 30;
return number;
}
Bir işlevden değer almanın başka bir yolu, bunun yerine bir “out” parametresi kullanmaktır. Yöntemin imzası içinde bir out parametresi bildirebilirsiniz. Daha sonra parametrenin bir out parametresi olduğunu belirtmek için “out” anahtar sözcüğünü kullanabilirsiniz.
return anahtar sözcüğünü kullanmak yerine, her zaman out parametresine bir değer atamanız gerekir.
static void Calculation(out double number)
{
number = 30;
}
Calculation() yöntemini çağırdığınızda, out parametresi için bir değişken iletin. Program, Calculation() işlevi içindeki “sayı” değişkeninin değerini alacak ve onu girilen değişkene atayacaktır. Bu durumda “30” değeri çıkacaktır.
double number = 0;
// Gets the value of the “number” variable inside the Calculation() function, which is 30.
Calculation(out number);
// Prints the number 30
Console.WriteLine(number);
Out Parametreli Bir Fonksiyon Nasıl Oluşturulur
Yeni bir C# konsol uygulaması içinde bir işlev oluşturun ve parametreye “out” anahtar sözcüğünü verin.
- Bilgisayarınızda Visual Studio’yu açın ve Yeni proje oluştur’a tıklayın .
- Visual Studio Yeni Bir Proje Oluştur
- Konsol Uygulaması’nı seçin ve İleri’ye tıklayın .
- Yeni bir Konsol Uygulaması projesi oluşturun
- Projenize bir ad verin ve Visual Studio dosyalarınızı depolamak için bir konum seçin. İleri’ye tıklayın .
- Yeni projenizi adlandırın ve yapılandırın
- Oluştur’a tıklayın . Visual Studio, basit bir konsol uygulaması için başlangıç kodunu oluşturacaktır.
- Konsol uygulaması için oluşturulan başlangıç kodu
- Main() işlevinin altında, CalculateTaxSalary() adlı yeni bir işlev oluşturun. Bu işlevin amacı, bir kişinin eve götürdüğü maaşı hesaplamak için ücretinden vergiyi kesmektir.
static double CalculateTaxSalary(int salary, out double taxedAmount)
{
}
Fonksiyonun içine, vergi sonrası eve dönüş maaşı hesaplamasını ekleyin. Sonucu döndürün.
static double CalculateTaxSalary(int salary)
{
const double taxRate = 0.3;
double takeHomeSalary = salary – (salary * taxRate);
return takeHomeSalary;
}
Ana işlevdeki varsayılan “Merhaba Dünya” çıktısını kaldırın. Bunun yerine CalculateTaxSalary() işlevini çağırın. İşlevden döndürülen sonucu konsola yazdırın.
static void Main(string[] args)
{
double takeHomeSalary = CalculateTaxSalary(100000);
Console.WriteLine($”The take-home salary from $ 100,000 is $ {takeHomeSalary}”);
}
CalculateTaxSalary() işlevini, ikinci bir değer de döndürmeniz gerekecek şekilde değiştirin. İkinci değer, vergilendirilen tutarı içerecektir. Bir değer döndürmek için return ifadesini zaten kullandığınızdan, bunun yerine bir out parametresi kullanın. Yöntem imzasına taxedAmount out parametresi ekleyin.
static double CalculateTaxSalary(int salary, out double taxedAmount)
CalculateTaxSalary() işlevinin içinde, maaşa uygulanan vergi miktarını hesaplayın. Sonucu taxedAmount değişkenine atayın.
static double CalculateTaxSalary(int salary, out double taxedAmount)
{
const double taxRate = 0.3;
taxedAmount = salary * taxRate;
double takeHomeSalary = salary – taxedAmount;
return takeHomeSalary;
}
Out Parametresinden Nasıl Değer Döndürülür
Bir out parametresinin değerini almak için işlevi çağırın ve out parametresinin değerini yerel bir değişkende saklayın.
Mevcut kodu Main() işlevinden kaldırın. Vergilendirilen tutarı depolamak için yeni bir değişken oluşturun.
double taxedAmount = 0;
CalculateTaxSalary() işlevini çağırın. İşlev, iade beyanını kullanarak eve alınan maaşı iade edecektir. İşlev ayrıca, out parametresini kullanarak taxedAmount değişkeninden değeri alır. Değeri, ana işlevin içindeki taxedAmount değişkeninde saklayacaktır.
double takeHomeSalary = CalculateTaxSalary(100000, out taxedAmount);
Console.WriteLine($”The take-home salary from $ 100,000 is $ {takeHomeSalary}. The amount that was taxed was $ {taxedAmount}.”);
Birden Çok Çıkış Parametresi Nasıl Kullanılır
Birden çok çıkış parametresi kullanmak için, bir işlev oluşturun ve çıkış anahtar sözcüğünü, değer döndürmek istediğiniz tüm parametrelere ekleyin.
MultipleValues() adlı yeni bir işlev oluşturun. Üç çıkış parametresi ekleyin ve her birine bir değer atayın.
static void MultipleValues(out int a, out int b, out int c)
{
a = 10;
b = 20;
c = 30;
}
Main() işlevinde, üç değerin her biri için yerel değişkenler oluşturun.
int a = 0;
int b = 0;
int c = 0;
Out parametreleri aracılığıyla üç değeri döndürmek için MultipleValues() işlevini çağırın.
MultipleValues(out a, out b, out c);
Console.WriteLine($”a: {a}, b: {b}, c: {c}”);
Konsol Uygulaması Nasıl Çalıştırılır
Uygulamayı çalıştırdığınızda, uygulamanızdaki basılı ifadeleri size göstermek için bir komut istemi penceresi açılacaktır.
- Konsol uygulamasını başlatmak için Visual Studio uygulamasının üst kısmındaki yeşil oynat düğmesine tıklayın.
- Visual Studio çalışma zamanı düğmesi
- Visual Studio programı derleyecek ve bir komut istemi açacaktır. Komut istemi, çıktı alınan sonuçları görüntüler. Bu, işlevlerin çıkış parametreleri olarak döndürdüğü değerleri içerir.
- Çıkış parametreleri için Çalışma Zamanında Sonuç
C# Uygulama Konsolunda Out Parametrelerini Kullanma
C#’da out parametreleri bir fonksiyondan birden fazla değer döndürmenize izin verir. Metodun imzasında birden fazla çıkış parametresi bildirebilir ve bu değişkenlere fonksiyon içinde değerler atayabilirsiniz. Fonksiyonu çağırdığınızda, bu çıkış parametrelerinde saklanan değerleri alabilir ve uygulamanın başka yerlerinde kullanabilirsiniz.
Karmaşık nesneler ve veri gruplarıyla uğraşıyorsanız, nesneleri bir sınıfa göre de döndürebilirsiniz. C#’ta sınıfların nasıl oluşturulacağı ve kullanılacağı hakkında daha fazla bilgi edinebilirsiniz.