IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Params (Geliştiriciler için Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 21 Nisan 2026

params anahtar kelimesi, bir yöntemin değişken sayıda argüman kabul etmesine olanak tanıyan, .NET'te güçlü bir özelliktir. Bu, çeşitli parametre sayısı gerektiren yöntemler çağırıldığında sözdizimini önemli ölçüde basitleştirebilir. Bu kapsamlı kılavuzda, C# dilinde params anahtar kelimesini, söz dizimini, kullanım durumlarını ve en iyi uygulamaları keşfedeceğiz. Bu makalenin ilerleyen bölümlerinde, IronPDF kütüphanesini Iron Software'dan tanıtacak ve params anahtar kelimesini ve IronPDF kullanarak PDF'lerin nasıl üretileceğini açıklayacağız.

C# Params Argüman Türü Nedir?

C# alanında, yöntemler tipik olarak önceden belirlenmiş bir dizi parametreye bağlı kalır. Buna rağmen, yöntem için ayrılması gereken kesin bağımsız değişken sayısı üzerinde belirsizliğe düşüldüğü durumlar mevcut olabilir. "params" anahtar kelimesiyle tanışın, bu, bir dizi bağımsız değişkeni barındırabilecek bir yöntemin parametresini belirtmeyi mümkün kılan bir çözümdür. Bu işlevsellik, geliştiricinin, önceden kesin bağımsız değişken sayısının farkında olmadığında, bir dizi bilinmeyen veya isteğe bağlı sayıdaki parametrenin, aynı türde, bir yöntem tanımı içinde iletilmesini kolaylaştırır.

public class ParamsExample
{
    // Method accepting a variable number of string arguments using the params keyword
    public void PrintMessages(params string[] messages)
    {
        foreach (var message in messages)
        {
            Console.WriteLine(message);
        }
    }
}

// Usage
class Program
{
    public static void Main()
    {
        var example = new ParamsExample();
        example.PrintMessages("Hello", "World", "!");
    }

    // More examples
    public static void AddItemsToShoppingBasket(params string[] items)
    {
        // Implementation to add items to a shopping basket
    }

    public static void AddItemsSumToShoppingBasket(params int[] sum) // Using params with int
    {
        // Implementation to add sum of items to the shopping basket
    }
}

AddItemsToShoppingBasket yöntemi, string parametrelerden oluşan değişken sayıda argümanla çağrılabilir. params anahtar kelimesi, geliştiricilerin isteğe bağlı parametreleri doğrudan geçmelerine olanak tanıyarak, dizi girişi oluşturmayı gerektirmeden yöntem çağrı söz dizimini basitleştirir.

class Program
{
    public static void Main()
    {
        AddItemsToShoppingBasket("cake", "pizza", "cold drink");
        AddItemsToShoppingBasket("snacks", "burger");
        AddItemsToShoppingBasket(); // Valid even with zero parameters, using default value
    }
}

Dikkat Edilmesi Gerekenler ve En İyi Uygulamalar

  • Params Parametresini Parametre Listesinin Sonunda Konumlandırın: Tavsiye edilen uygulama, params parametresini yöntemin parametre listesinin sonunda konumlandırmaktır. Bu uygulama, metot çağrıları sırasında karışıklıkların önlenmesini teşvik eder. Parametrelerin açıkça belirtilmesi gereken parametler params'tan önce gelmelidir ki etkili bir organizasyon sağlar.

  • Belirtiksiz Parametreleri Açıkça Belirtin: params ile bir yöntem çağırırken, params parametreleri için açık değer sağladığınızdan emin olun. Bu uygulama belirsizliği önler ve yöntemin gerekli argüman sayısı ile doğru bir şekilde çağrılmasını garanti eder.

  • Belirsizliği Önlemek için Dikkatli Olun: Çeşitli aşırmaları veya aynı türde parametreleri olan yöntemlerde params kullanırken dikkatli olmak esastır. Derleyici, çağrılacak uygun yöntemi belirlemekte zorlanabilir ve bu da belirsizliği sonuçlandırabilir.

  • Alternatif Yaklaşımları Keşfedin: params kolaylık sağlasa da, belirli senaryolarda alternatif yöntemleri değerlendirin. List<t> gibi koleksiyonları kullanmak, geliştirilmiş işlevsellik veya adlandırılmış parametrelerin geçilmesinin hedeflerinizle uyumlu olduğu durumlarda tercih edilebilir.

  • İlgili Senaryolara Uygun Bir Şekilde Uygulayın: Parametre sayısının değişken olduğu ve farklı yöntem çağrıları arasında dalgalanabileceği senaryolarda params dikkatlice kullanın. Bunun kullanımı, gereken parametre sayısı bilinmediğinde tercih edilmeli ve sabit ve bilindik bir parametre sayısı olduğunda kullanımdan kaçınılmalıdır.

Parametre Tipi İçin Tek Boyutlu Dizi

Ayrıca, tek boyutlu bir dizi ile çağrılarak AddItemsToShoppingBasket kullanılabilir.

class Program
{
    public static void Main()
    {
        var items = new string[] { "cold drink", "snack", "roll" }; // 1D string array
        AddItemsToShoppingBasket(items); // Works as expected
        AddItemsToShoppingBasket("cold drink", "coke", "roll"); // Similar result to the above line
    }
}

Aynı Türden Argümanların Virgülle Ayrılmış Dizisini Aktarma

AddItemsToShoppingBasket, aşağıda gösterildiği gibi, yöntem çağrısında bir liste/dizi değişkeni geçirerek çağrılabilir.

class Program
{
    public static void Main()
    {
        // Example method signature
        AddItemsToShoppingBasket("snacks", "burger", "snacks", "burger", "cold drink"); // Comma separated values
        AddItemsToShoppingBasket("snacks");
    }
}

Tanımlanmış Türe Sahip Diziyi Aktarma

Dizi, params yönteminde tanımlanan türle aynı türde olmalıdır; aksi takdirde bir hata verilir.

// Example that results in an error
AddItemsToShoppingBasket("snacks", 2, "burger"); // Error due to type mismatch
AddItemsToShoppingBasket(2, 3, 4); // Error since params type is string

params ile tanımlı türden farklı bir tür uyuşmazlığı varsa söz dizimi hatası oluşur.

Yöntemde Her Zaman Son Parametre

Bir yöntem imzasında params parametresinden sonra ek parametreye izin verilmez. Bir yöntem parametreleri bildiriminde sadece bir params argümanına izin verilir. Yanlış tanımlaması derleme hatalarına neden olur.

class Program
{
    static void Main(string[] args)
    {
        // Example 1
        public static void AddItemsToShoppingBasket(double total, params string[] items)
        {
            // Works fine as `params` is the last parameter
        }
        
        // Example 2, error scenario
        public static void AddItemsToShoppingBasket(params string[] items, decimal total, int total)
        {
            // Error: `params` keyword must be the last parameter 
        }
    }
}

Sadece Bir params Anahtar Kelime

Bir yöntem imzasında sadece bir params parametresine izin verilir. Bir yöntem imzasında birden fazla params anahtar kelimesi bulunursa derleyici bir hata verir.

class Program
{
    static void Main(string[] args)
    {
        public static void AddItemsToShoppingBasket(params string[] items, params string[] quantity)
        {
            // Compiler Error: Only one params keyword is allowed in the method signature
        }
    }
}

Hiçbir Argüman Geçmeyebilirsiniz

Bir yöntemde params anahtar kelimesine sahip bir parametre varsa, herhangi bir argüman olmadan çağrılabilir ve derleyici bir hata vermez.

AddItemsToShoppingBasket(); // Works as expected

Bir params argümanı olan herhangi bir parametre için, isteğe bağlı bir parametre olarak kabul edilir ve parametreler geçirilmeden çağrılabilir.

Kod Örneği

Yeni bir Konsol Uygulaması oluşturun. Visual Studio'yu aç, yeni bir proje oluştur ve konsol uygulaması türünü seç.

C# Parametreleri (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Yeni bir konsol uygulaması oluşturma

Şimdi aşağıdaki kodu ekle.

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<string> cart = new List<string>();

        void AddItemsToShoppingBasket(params string[] samples)
        {
            for (int i = 0; i < samples.Length; i++)
            {
                cart.Add(samples[i]);
            }
        }

        // Caller code
        Console.WriteLine("Enter the cart items as comma separated values");
        var itemsString = Console.ReadLine();
        if (itemsString != null)
        {
            var items = itemsString.Split(",").ToArray();
            AddItemsToShoppingBasket(items);
        }
        AddItemsToShoppingBasket("Sample1", "Sample2");
        
        Console.WriteLine("-------------------------------------------------------");
        Console.WriteLine("Display Cart");
        
        foreach (var item in cart)
        {
            Console.WriteLine(item);
        }
    }
}

Çıktı

C# Parametreleri (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Üstteki kod çıktısı

IronPDF Tanıtımı

Iron Software'dan IronPDF C# PDF kütüphanesi, C#'ta PDF belgelerini okuyabilen, yazabilen ve yönetebilen çok yönlü bir kütüphanedir. Mobil, Web sitesi, Masaüstü, Docker gibi modern uygulama geliştirmeleri için her türlü desteği sunar. Ayrıca Windows, Linux, Unix gibi çeşitli işletim sistemlerini de destekler. Yerel işletim sistemi yöntemlerine bağımlı değildir.

IronPDF, HTML'den PDF'ye dönüşümde mükemmeldir, özgün düzenler ve stillerin hassas bir şekilde korunmasını sağlar. Raporlar, faturalar ve belgeler gibi web tabanlı içeriklerden PDF oluşturmak için mükemmeldir. HTML dosyaları, URL'ler ve ham HTML dizeleri için destekle, IronPDF yüksek kaliteli PDF belgelerini kolayca üretir.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Kurulum

IronPDF kütüphanesi, NuGet paket yöneticisi konsolu ile aşağıdaki komutu kullanarak ya da Visual Studio paket yöneticisini kullanarak kurulabilir.

PM > Install-Package IronPdf

IronPDF kullanarak PDF Oluşturma

Şimdi yukarıdaki örnekten PDF belgesini oluşturmak için IronPDF kullanacağız.

using System;
using System.Collections.Generic;
using System.Linq;
using IronPdf;

class Program
{
    public static void Main()
    {
        List<string> cart = new List<string>();

        void AddItemsToShoppingBasket(params string[] items)
        {
            for (int i = 0; i < items.Length; i++)
            {
                cart.Add(items[i]);
            }
        }

        // Take input from console
        Console.WriteLine("Enter the cart items as comma separated values");
        var itemsString = Console.ReadLine();

        // Read the items
        if (itemsString != null)
        {
            var items = itemsString.Split(",").ToArray();
            AddItemsToShoppingBasket(items);
        }

        // Add to cart
        AddItemsToShoppingBasket("Sample1", "Sample2");

        Console.WriteLine("------------------------------------------------");
        Console.WriteLine("Display Cart");
        Console.WriteLine("------------------------------------------------");

        string name = "Sam";
        var count = cart.Count;
        string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You have {count} items in the cart.</p>
" +
        string.Join("\n", cart.Select(x => $"<p>{x}</p>"))
        + @"
</body>
</html>";

        // Create a new PDF document
        var pdfDoc = new ChromePdfRenderer();
        pdfDoc.RenderHtmlAsPdf(content).SaveAs("cart.pdf");
    }
}

Yukarıdaki kodda, sepet öğeleri için bir HTML belgesi oluşturuyor ve ardından IronPDF kullanarak bunu bir PDF belgesi olarak kaydediyoruz.

Çıktı

C# Parametreleri (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - Yukarıdaki koddan PDF Çıktısı

Lisanslama (Ücretsiz Deneme Mevcuttur)

IronPDF, üretimde çalışmak için bir lisans anahtarına ihtiyaç duyar. Deneme anahtarı için lisans sayfasından buradan edinilebilir. Anahtarı appsettings.json dosyasına yerleştirin.

"IronPdf.LicenseKey": "your license key"
JSON

Deneme lisansının e-posta adresinize gönderilmesi için email ID'nizi sağlayın.

Sonuç

C# dilindeki params anahtar kelimesi, değişken sayıda parametre gerektiren yöntemleri yönetmek için esnek bir yol sunar. Bu, metot çağrılarını basitleştirir ve kodu daha okunabilir ve sürdürülebilir hale getirir. IronPDF ile birlikte, temiz kod yazmak için her programcı için harika bir yetenek kombinasyonudur.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez