Aracılığıyla paylaş


out (C# Başvurusu)

Kullanabilirsiniz out (her olduğunu ayrıntılı bilgi için bir bağlantı) iki bağlamlarında bağlamsal anahtar sözcüğü bir parametresi değiştiricisi veya genel tür parametresi bildirimleri içinde arabirimleri ve temsilcileri.Bu konu parametresi değiştiricisi açıklamaktadır, ancak gördüğünüz bu diğer konu genel tür parametresi bildirimleri hakkında bilgi için.

out Anahtar sözcük başvuru tarafından iletilecek bağımsız değişkenleri neden olur.Bu benzer ref benzer; tek fark anahtar sözcük ref , geçmeden önce değişkenin başlatılmasını gerektirir.Kullanılacak bir out parametresi, yöntem tanımı hem çağıran yöntem açıkça kullanmalıdır out anahtar sözcük.Ö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şkenleri olarak geçirilen olsa da out geçirilen önce başlatılması bağımsız değişkenleri gerekmez, yöntem döndürmeden önce bir değer atamak için çağrılan yöntem gereklidir.

Olsa da ref ve out anahtar sözcükler neden farklı bir çalışma zamanı davranışı, bunlar yöntem imzası parçası derleme zamanında kabul edilmez.Bir yöntem aldığını tek fark ise, bu nedenle, yöntemleri aşırı yüklenemez bir ref bağımsız değişkeni ve diğer alır bir out bağımsız değişkeni.Aşağıdaki kod, örneğin, derleme yapılamayacak değil:

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 kullanır, bu gibi hiçbirine:

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

Özellikleri değişkenleri olmadığında ve bu nedenle olarak geçirilemez out parametreleri.

Dizi 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 için aşağıdaki yöntemleri tür anahtar sözcükler:

  • Zaman uyumsuz yöntemler, kullanarak tanımladığınız zaman uyumsuz değiştiricisi.

  • Dahil yineleyici yöntemleri, bir verecek return veya yield break bildirimi.

Örnek

Bildiren bir out yöntemi, birden çok değer döndürmek için bir yöntem istediğinizde kullanışlıdır.Aşağıdaki örnek, kullanır out üç değişkenleri tek yöntem çağrısının ile döndürmek için.Üçüncü bağımsız değişkeni null olarak atanmış unutmayın.Bu isteğe bağlı olarak döndürülen değerler için 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;
        }
    }

Ayrıca bkz.

Diğer Kaynaklar

C# Başvurusu