Yükleniyor...

Metotlar

ring adında, bir sözcük yazan bir metot yazın: ding. Bu yazma satırlarını boş parantezli static void ring() altına koyun. Main içinde yalnız ring(); yazın — ad, sonra boş parantez, sonra noktalı virgül. Programı çalıştırın. Ekran bir satır göstermelidir: ding. Main, ding için WriteLine tutmaz. Metot tutar. Bu ayrım bu sayfanın öğrettiği şeydir. Genel sınıf adını Pine tutun.

ring altında yaşayan satırlar

Şimdiye kadar yazma işinizin çoğu doğrudan Main içinde duruyordu. Bu hâlâ işe yarar. Bir metot aynı satırlara kendi adını verir. Satırları o adın altında bir kez yazarsınız. Sonra Main, adı bir çağrı olarak yazarak onları ister.
Pine dosyasını açın. Sınıf adı Pine kalır. Bu sayfa türü yeniden adlandırmaz. Hâlâ plants veya slots gezen bir foreach varsa silin. Hâlâ break veya continue içeren sayaçlı bir for varsa silin. Her ReadLine satırını silin. Tutacağınız dosyada yazı bekleyişi yoktur ve Main içinde artakalan döngü demosu yoktur.
Main dışında, hâlâ sınıfın süslü parantezleri içinde, gövdesi Console.WriteLine("ding"); çalıştıran static void ring() yazacaksınız. Tam program bir sonraki kutudadır; temiz kopyalayabilirsiniz.
static sözcüğü bu başlangıç şeklinde kalır ki Main, nesne oluşturmadan ring çağırabilsin. void sözcüğü bu metodun çağırana değer geri vermediği anlamına gelir — yalnız gövdesini çalıştırır. ring adı Main içinde yazacağınız etikettir. Boş parantez () bu sayfanın metodunun içeri değer almadığı anlamına gelir. Süslü parantezler gövdeyi tutar. Çalıştırmadan önce dosyayı kaydedin.

Tutacağınız dosya

İşte bu sayfa için tam küçük program. Main yalnız çağrıyı tutar. ring yazma satırını tutar. Bu tutulan dosyada indeks sayacı ve dizi gezintisi yoktur.

ring writes ding

csharp
using System;

public class Pine
{
    public static void Main()
    {
        ring();
    }

    static void ring()
    {
        Console.WriteLine("ding");
    }
}

Üstten okuyun. using System; kısa adları hazırlar. public class Pine türü adlandırır. public static void Main() çalışma zamanının başladığı yerdir. Main içindeki tek deyim ring();dır. Mainin altında, hâlâ sınıfın içinde, static void ring() Console.WriteLine("ding"); tutar. Ekranda bir satır: ding.

dotnet run ile çalıştırın. Program bir satır yazar ve durur. Sizin yazmanızı beklemez. dotnet run bekliyorsa dosyada hâlâ ReadLine vardır. O satırı silin; Main içinde ring(); ve üstteki ring metodunu tutun. Ekran ding gösterir. Ekran leaf ve mint gösteriyorsa artakalan bir foreach hâlâ yazıyordur. Ekran ring harflerini gösteriyorsa bir yazma satırı o sözcüğü tırnak içine almıştır: Console.WriteLine("ring");. Yanlış satır gösteren bir ekran için .NET SDK’yı yeniden kurmazsınız.

Bir tam çalıştırmayı sırayla yürütün. C# Mainde başlar. Main içindeki tek deyim ring();dır. Bu çağrı ring metoduna atlar. ring içinde WriteLine ding yazar. Sonra ring biter ve Mainde kalan yoktur, bu yüzden program sona erer. Bu sayfada Console.WriteLine("ding");i Main içine koymadınız. Onu ring altına koyup adıyla istediniz. Ekran ding gösteriyorsa çağrı gövdeye ulaşmıştır. Temiz bir build sonrası ekran boş kalıyorsa Main hiç ring çağırmamıştır.
ringi yazma satırları için etiketli bir raf gibi düşünün. Mainin bu satırları tekrarlaması gerekmez. Yalnızca raf adının çağrı olarak yazılması yeterlidir. Bu yüzden kısa bir Main yine de açık bir ekran satırı üretebilir: iş metot adının altında yaşar ve çağrı istektir. Bu kalıp netleşince bir çağrı daha eklemek, aynı yazma satırı rafına bir istek daha demektir.

ring i Main den birden çok kez çağırın

Yalnız Maini değiştirin ki aynı metodu iki kez çağırsın. ring metodunun kendisine dokunmayın. Gövde her çağrıda hâlâ bir kez ding yazar.

ring called twice

csharp
using System;

public class Pine
{
    public static void Main()
    {
        ring();
        ring();
    }

    static void ring()
    {
        Console.WriteLine("ding");
    }
}

Bu ikinci dosyadır. Tek çağrılı şekil için tuttuğunuz dosya değildir, ama aynı metodu öğretir. dotnet run çalıştırın. Ekran her biri ding diyen iki satır göstermelidir. İlk çağrı gövdeyi bir kez çalıştırır. İkinci çağrı aynı gövdeyi yeniden çalıştırır. Bu yeniden kullanım, satırlara ad vermenin nedenidir. WriteLinei ring altında ikinci kez kopyalamadınız. Main içinde ikinci bir çağrı yazdınız.
Yalnız bir ring(); bırakırsanız ekran tek bir dinge döner. Metot tanımı kendi başına yazmaz. Yalnız Mainden bir çağrı gövdeyi çalıştırır. ringi tanımlayan ama hiç çağırmayan bir dosya derlenebilir ve çalıştırınca yine boş ekran gösterebilir. İki satırı gördükten sonra kaydetmek istediğiniz şekil buysa tutulan tek çağrılı dosyayı geri koyun: Main içinde bir ring();.

Bir metot başlığının parçaları

Bu sayfada başlık static void ring()dır. Soldan sağa okuyun. static, Mainin bu başlangıç şeklinde metodu çağırmasını sağlar. void, çağrı yoluyla geri değer gelmediği anlamına gelir. ring addır. () bilerek boştur: bu oturum metoda sözcük veya sayı geçirmez. Sonraki sayfa, parameters, bu parantezlerin içine adlar koyar. Ondan sonraki sayfa, return, geri değer gerektiğinde voidu değiştirir. İkisini de sonraya bırakın. Bugün boş () ve void yeterlidir.

📊 Header piece on this page

Piece On this page
static Main can call ring without an object
void ring does not hand a value back
ring the name you type in the call
() no values go in on this page
{ ... } the body that writes ding

Main içindeki çağrı ada tam uymalıdır: küçük r, boş parantez ve noktalı virgülle ring();. Büyük R ile Ring(); yazmak C# için başka bir addır. () olmadan ring yazmak bu şekilde bir çağrı değildir. Console.WriteLine("ring"); yazmak ring sözcüğünün dört harfini yazar; metot gövdesini çalıştırmaz. Ekranda ding istediğinizde çağrıyı ring(); olarak tutun.

Yaygın bir artakalmışlık, yeni çağrının yanında Main içinde hâlâ oturan eski bir foreach plants gezintisidir. O zaman ekran ding yerine leaf ve mint, ya da 2, 4 ve 6 gösterebilir — ya da iki tür satır karışık. Maini bu dersin ihtiyaç duyduğu ring(); çağrılarına indirin. Başka bir karışıklık, metodu Mainin süslü parantezlerinin içine koymaktır. Bu sayfadaki metotlar sınıfın içinde, Mainin yanında oturur; Main içine gömülmez.

Önceki sayfadaki foreach, dizide zaten saklı değerleri geziyordu. Bu sayfa bir dizi gezmez. Bir void metodu adlandırır ve çağırır. Aynı Main içinde foreach (string plant in plants) bırakıp ekranın neden ding yerine leaf gösterdiğine şaşırmayın. Bu oturumun tutulan Maini yalnız ring(); çağrısını tutmalıdır. Metot gövdesi ding için yazma satırını tutar.

Artık static void ring() yazabilir, süslü parantezlerinin içine bir WriteLine koyabilir ve ekranın ding göstermesi için Mainden ring() çağırabilirsiniz. İki kez çağırmak, gövdeyi kopyalamadan iki kez ding yazar. Boş parantezler ve void bilerek bu sayfada kalır. Sonraki sayfa parameters’tır; orada adlar parantezlerin içine girer ki metot Mainden geçirdiğiniz değerleri kullanabilsin.

Ekran metot gövdesidir

Tutacağınız dosya, Mainde bir çağrı varken bir kez ding yazar. ring adı çağrıdadır ve ring harfleri, tırnak içine almadığınız sürece ekranda basılı sözcük olarak görünmez. Boş () hem başlıkta hem çağrıda oturur. ringi Main içine gömmek bu dersin kurduğu şekil değildir.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
7
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek