Aracılığıyla paylaş


out parametresi değiştiricisi (C# Başvurusu)

out Anahtar sözcüğü başvuruyla geçirildi bağımsız olur.Bu gibi ref dışında anahtar sözcük ref önce kendisine geçirilen değişken başlatılmasını gerektirir.Kullanmak için bir out parametresi, yöntem tanımı ve çağırma yöntemi açıkça kullanmaları gereken out anahtar sözcüğü.Örne?in:

class OutExample
{
    static void Method(out int i)
    {
        i = 44;
    }
    static void Main()
    {
        int value;
        Method(out value);
        // value is now 44
    }
}

Değişken olarak geçirilen rağmen out bağımsız değişken gerekmez iletilmeden önce başlatılmış, çağrılan yöntemi döndüreceðini önce bir değer atamak için gereklidir.

Ancak ref ve out anahtar sözcükler neden farklı çalışma zamanı davranışı, bunlar derleme zamanında yöntem imzası bölümünü dikkate alınmaz.Tek fark bir yöntemi alır, bu nedenle, yöntemleri aşırı yüklenemez bir ref baðýmsýz deðiþkeni ve diğer işlemlerin bir out bağımsız değişkeni.Örneğin, aşağıdaki kod derlenmez:

class CS0663_Example
{
    // Compiler error CS0663: "Cannot define overloaded  
    // methods that differ only on ref and out". 
    public void SampleMethod(out int i) { }
    public void SampleMethod(ref int i) { }
}

Aşırı yapılabilir, ancak bir yöntem sürerse bir ref veya out bağımsız değişkeni ve diğer kullandığı bu ikisi:

class OutOverloadExample
{
    public void SampleMethod(int i) { }
    public void SampleMethod(out int i) { i = 5; }
}

Özellikler değişkenleri değildir ve bu nedenle olarak geçirilemez out parametreleri.

Dizi aktarma hakkında daha fazla bilgi için bkz: ref ve out Kullanarak Dizileri Geçirme (C# Programlama Kılavuzu).

Kullanamazsınız ref ve out yöntemleri aşağıdaki türleri için anahtar sözcükler:

  • Kullanarak tanımladığınız zaman uyumsuz yöntem zaman uyumsuz değiştiricisi.

  • Dahil Yineleyici yöntemleri bir dönüşünden veya yield break ifadesi.

Örnek

Bildirmenin bir out yöntemi, birden çok değer döndürmek için bir yöntem istediğinizde yararlıdır.Aşağıdaki örnek out tek yöntem çağrısı ile üç değişken dönün.Üçüncü bağımsız değişken null olarak atanacağını unutmayın.Bu isteğe bağlı değerler döndürmek yöntemler sağlar.

class OutReturnExample
    {
        static void Method(out int i, out string s1, out string s2)
        {
            i = 44;
            s1 = "I've been returned";
            s2 = null;
        }
        static void Main()
        {
            int value;
            string str1, str2;
            Method(out value, out str1, out str2);
            // value is now 44 
            // str1 is now "I've been returned" 
            // str2 is (still) null;
        }
    }

C# dil belirtiminin

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.

Başvuru

C# Anahtar Sözcükleri

Yöntem Parametreleri (C# Başvurusu)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu