Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Eğitim: C#
Bu öğretici, değişkenleri inceleyen ve bu değişkenlere göre yürütme yolunu değiştiren C# kodu yazmayı öğretir. C# kodu yazar ve derlemenin ve çalıştırmanın sonuçlarını görürsünüz. Öğretici, C# dilinde dallanma ve döngü yapılarını inceleyen bir dizi ders içerir. Bu dersler size C# dilinin temellerini öğretir.
Bu eğitimde, siz:
- C# geliştirme ortamıyla GitHub Codespace başlatın.
-
ifveelsedeyimlerini keşfedin. - İşlemleri yinelemek için döngüleri kullanın.
- İç içe döngülerle çalışmayı öğrenme.
- Dalları ve döngüleri birleştirin.
Önkoşullar
Aşağıdaki seçeneklerden birine sahip olmanız gerekir:
- GitHub Codespaces'ı kullanmak için bir GitHub hesabı. Henüz bir hesabınız yoksa GitHub.com'de ücretsiz bir hesap oluşturabilirsiniz.
- Aşağıdaki araçların yüklü olduğu bir bilgisayar:
if deyimlerini kullanma
Öğretici ortamıyla bir GitHub Codespace başlatmak için , öğretici kod alanı deposuna bir tarayıcı penceresi açın. Yeşil Kod düğmesini ve Codespaces sekmesini seçin. Ardından bu ortamı kullanarak yeni bir Codespace oluşturmak için işareti seçin + . Bu serideki diğer öğreticileri tamamladıysanız, yeni bir tane oluşturmak yerine bu kod alanının açılmasını sağlayabilirsiniz.
Codespace'ınız yüklendiğinde, öğreticiler klasöründe branches-loops.cs adlı yeni bir dosya oluşturun.
Yeni dosyanızı açın.
Aşağıdaki kodu branches-loops.cs yazın veya kopyalayın:
int a = 5; int b = 6; if (a + b > 10) Console.WriteLine("The answer is greater than 10.");Tümleşik terminale aşağıdaki komutu yazarak bu kodu deneyin:
cd tutorials dotnet branches-loops.csKonsolunuza "Yanıt 10'dan büyük" iletisinin yazdırıldığını görmeniz gerekir.
toplam 10'dan küçük olacak şekilde
bbildirimini değiştirin:int b = 3;Terminal penceresine yeniden yazın
dotnet branches-loops.cs.Yanıt 10'dan küçük olduğundan hiçbir şey yazdırılmaz. Test ettiğiniz koşulu yanlıştır. Bir
ifdeyimi için olası dallardan yalnızca birini yazdığınızdan yürütülecek bir kodunuz yok: gerçek dal.
Bahşiş
C# dilini (veya herhangi bir programlama dilini) keşfederken kod yazarken hatalar yapabilirsiniz. Derleyici hataları bulur ve bildirir. Hata çıkışına ve hatayı oluşturan koda yakından bakın. Copilot'dan farklılıkları bulmasını veya hataları tespit etmesini de isteyebilirsiniz. Derleyici hatası genellikle sorunu bulmanıza yardımcı olabilir.
Bu ilk örnek ve Boole türlerinin if gücünü gösterir.
Boole değeri, iki değerden birine sahip olabilecek bir değişkendir: true veya false. C# Boole bool değişkenleri için özel bir tür tanımlar.
if deyimi bir booldeğerini denetler. Değer true'e eşit olduğunda, if sonrasındaki deyim yürütülür. Aksi takdirde atlanır. Koşulları kontrol etme ve bu koşullara göre deyimleri yürütme süreci oldukça etkilidir. Şimdi daha fazlasını keşfedelim.
If ve else'nin birlikte çalışmasını sağlama
Hem true hem de false dallarında farklı kod yürütmek için, koşul false olduğunda yürütülen bir else dalı oluşturursunuz. Bir else şube kullanın.
Aşağıdaki kod parçacığına son iki satırı ekleyin (ilk dördüne zaten sahip olmanız gerekir):
int a = 5; int b = 3; if (a + b > 10) Console.WriteLine("The answer is greater than 10"); else Console.WriteLine("The answer is not greater than 10");elseanahtar sözcüğünü izleyen deyim yalnızca test edilen koşulfalseolduğunda yürütülür.ifveelse'in boole koşullarıyla birleşimi, hemtruehem defalsekoşulunu işlemek için ihtiyacınız olan tüm gücü sağlar.Önemli
ifveelsedeyimlerinin altındaki girinti, insan okuyucular içindir. C# dili girintiyi veya boşluğu önemli olarak ele almaz.ifveyaelseanahtar sözcüğünden sonra gelen ifade, koşula bağlı olarak yürütülür. Bu öğreticideki tüm örnekler, kontrol akışına göre satırları girintili yapma konusunda yaygın bir uygulamayı izler.Girinti önemli olmadığından, birden fazla deyimin koşullu olarak yürütülen bloğun parçası olmasını istediğiniz zamanları belirtmek için
{ve}kullanmanız gerekir. C# programcıları genellikle bu ayraçları tümifveelseyan tümcelerinde kullanır.Aşağıdaki örnek, ve
{öğesinin eklenmesiyle}önceki örnekte oluşturduğunuz örnekle aynıdır. Kodunuzu aşağıdaki kodla eşleşecek şekilde değiştirin:int a = 5; int b = 3; if (a + b > 10) { Console.WriteLine("The answer is greater than 10"); } else { Console.WriteLine("The answer is not greater than 10"); }Bahşiş
Bu öğreticinin geri kalanında kod örneklerinin tümü, kabul edilen uygulamalara uyarak ayraçları içerir.
Daha karmaşık koşulları test edebilirsiniz. Şu ana kadar yazdığınız kodun arkasına aşağıdaki kodu ekleyin:
int a = 5; int b = 3; int c = 4; if ((a + b + c > 10) && (a == b)) { Console.WriteLine("The answer is greater than 10"); Console.WriteLine("And the first number is equal to the second"); } else { Console.WriteLine("The answer is not greater than 10"); Console.WriteLine("Or the first number is not equal to the second"); }==simgesi eşitliği olup olmadığını test eder.==kullanmak, eşitlik testinia = 5'de gördüğünüz atamadan ayırır.&&"ve" öğesini temsil eder. Bu, doğru dalındaki ifadeyi çalıştırmak için her iki koşulun da doğru olması gerektiği anlamına gelir. Bu örnekler,{ve}içine almanız koşuluyla her koşullu dalda birden çok deyiminiz olabileceğini de gösterir."veya" öğesini temsil etmek için de kullanabilirsiniz
||. Şu ana kadar yazdıkların ardından aşağıdaki kodu ekleyin:if ((a + b + c > 10) || (a == b))a,bvecdeğerlerini değiştirin ve keşfetmek için&&ile||arasında geçiş yapın.&&ve||işleçlerinin nasıl çalıştığı hakkında daha fazla bilgi edinebilirsiniz.İlk adımı tamamladınız. Sonraki bölüme başlamadan önce geçerli kodu ayrı bir yönteme taşıyalım. Bu, yeni bir örnekle çalışmaya başlamayı kolaylaştırır. Mevcut kodu
ExploreIf()adlı bir metoda yerleştirin. Bunu programınızın en üstünden arayın. Bu değişiklikleri tamamladığınızda kodunuz aşağıdaki kod gibi görünmelidir:ExploreIf(); void ExploreIf() { int a = 5; int b = 3; if (a + b > 10) { Console.WriteLine("The answer is greater than 10"); } else { Console.WriteLine("The answer is not greater than 10"); } int c = 4; if ((a + b + c > 10) && (a > b)) { Console.WriteLine("The answer is greater than 10"); Console.WriteLine("And the first number is greater than the second"); } else { Console.WriteLine("The answer is not greater than 10"); Console.WriteLine("Or the first number is not greater than the second"); } if ((a + b + c > 10) || (a > b)) { Console.WriteLine("The answer is greater than 10"); Console.WriteLine("Or the first number is greater than the second"); } else { Console.WriteLine("The answer is not greater than 10"); Console.WriteLine("And the first number is not greater than the second"); } }çağrısına açıklama ekleyin
ExploreIf(). Bu bölümde çalışırken çıktının daha düzenli olmasını sağlar.//ExploreIf();
C // # dilinde bir açıklama başlatır. Açıklamalar, kaynak kodunuzda tutmak istediğiniz ancak kod olarak yürütmek istemediğiniz herhangi bir metindir. Derleyici açıklamalardan yürütülebilir kod oluşturmaz.
İşlemleri yinelemek için döngüleri kullanma
Daha büyük programlar oluşturmak için bir diğer önemli kavram da döngülerdir. Birden çok kez yürütmek istediğiniz deyimleri yinelemek için döngüleri kullanın.
ExploreIfçağrısından sonra bu kodu ekleyin:int counter = 0; while (counter < 10) { Console.WriteLine($"Hello World! The counter is {counter}"); counter++; }whileifadesi bir koşulu denetler ve sonrasındawhileifadesini yürütür. Koşulu denetlemeyi ve koşul false olana kadar bu deyimleri yürütmeyi yineler.Bu örnekte başka bir yeni işleç daha vardır.
++değişkeninden sonrakicounter, artış işlecidir . değerinecounter1 ekler ve bu değeri değişkendecounterdepolar.Önemli
Kodu yürütürken döngü koşulunun
whilefalse olarak değiştiğinden emin olun. Aksi takdirde, programınızın hiç bitmeyecek şekilde sonsuz döngü oluşturursunuz. Bu davranış bu örnekte gösterilmiyor, çünkü CTRL-C veya diğer araçları kullanarak programınızı bırakmaya zorlamanız gerekiyor.whiledöngüsü,whileizleyen kodu yürütmeden önce koşulu sınar.do...whiledöngüsü önce kodu yürütür ve ardından koşulu denetler. Do while döngüsü aşağıdaki kodda gösterilir:int counter = 0; do { Console.WriteLine($"Hello World! The counter is {counter}"); counter++; } while (counter < 10);Bu
dodöngü ve öncekiwhiledöngü aynı çıkışı üretir.
Şimdi son bir döngü deyimine geçelim.
For döngüsüyle çalışmak
C# kodunda gördüğünüz bir diğer yaygın döngü deyimi de for döngüsüdür.
Şu kodu deneyin:
for (int counter = 0; counter < 10; counter++) { Console.WriteLine($"Hello World! The counter is {counter}"); }Önceki
fordöngüsü, daha önce kullandığınızwhiledöngüsü vedodöngüsüyle aynı çalışmayı yapar.fordeyiminin nasıl çalıştığını denetleen üç bölümü vardır:- İlk bölüm başlatıcı için:
int counter = 0;counter'nin döngü değişkeni olduğunu bildirir ve ilk değerini0olarak ayarlar. - Orta kısım for koşuludur:
counter < 10değeri 10'dan küçük olduğu sürece bufordöngününcounteryürütülmeye devam ettiğini bildirir. - Son parça, yineleyici için'dır:
counter++,fordeyiminin ardından gelen bloğun yürütülmesinden sonra döngü değişkeninin nasıl değiştirileceğini belirtir. Blok her çalıştırıldığındacounter'nin 1 arttığı burada belirtilmiştir.
- İlk bölüm başlatıcı için:
Bu koşulları kendiniz deneyin. Aşağıdaki değişikliklerin her birini deneyin:
- Başlatıcıyı farklı bir değerden başlayacak şekilde değiştirin.
- Koşulu farklı bir değerde duracak şekilde değiştirin.
İşiniz bittiğinde, kendiniz kod yazmak ve öğrendiklerini kullanmak için bir sonraki bölüme geçin.
Bu öğreticide ele alınmamış bir döngü komutu daha vardır: foreach deyimi.
foreach deyimi, bir öğe dizisindeki her öğe için deyimini yineler. Bunu en sık koleksiyonlarla kullanırsınız. Sonraki derste ele alınacaktır.
İç içe döngüler oluşturuldu
Dış döngüdeki her öğeyi whileiç döngüdeki her öğeyle birleştirerek matris oluşturmak için bir , doveya for döngüsünü başka bir döngünün içine yerleştirebilirsiniz. Şimdi satırları ve sütunları temsil eden bir alfasayısal çift kümesi oluşturalım.
Aşağıdaki
fordöngüsünü ekleyerek satırları oluşturun:for (int row = 1; row < 11; row++) { Console.WriteLine($"The row is {row}"); }Sütunları oluşturmak için başka bir döngü ekleyin:
for (char column = 'a'; column < 'k'; column++) { Console.WriteLine($"The column is {column}"); }Son olarak, sütun döngüsünü satırların içine yerleştirerek çiftleri oluşturun.
for (int row = 1; row < 11; row++) { for (char column = 'a'; column < 'k'; column++) { Console.WriteLine($"The cell is ({row}, {column})"); } }Dış döngü, iç döngü her tamamlandığında bir kez artar. Satır ve sütunu iç içe yerleştirmeyi ters çevirip değişiklikleri kendiniz görün. İşiniz bittiğinde, bu bölümdeki kodu
ExploreLoops()adlı bir yönteme yerleştirin.
Dalları ve döngüleri birleştirme
Artık C# dilinde if ifadesini ve döngü yapılarını kullandığınıza göre, 1'den 20'ye kadar olan ve 3 ile tam bölünebilen tüm tamsayıların toplamını bulmak için C# kodu yazmayı deneyin. İşte birkaç ipucu:
-
%işleci size bölme işleminin geri kalanını verir. -
ifdeyimi, bir sayının toplamın parçası olup olmadığını görme koşulu verir. -
fordöngüsü, 1 ile 20 arasındaki tüm sayılar için bir dizi adımı yinelemenize yardımcı olabilir.
Kendiniz deneyin. O zaman nasıl yaptığını kontrol et. İpucu olarak, bir yanıt olarak 63 almanız gerekiyor.
Böyle bir şey mi buldun?
int sum = 0;
for (int number = 1; number < 21; number++)
{
if (number % 3 == 0)
{
sum = sum + number;
}
}
Console.WriteLine($"The sum is {sum}");
"Dallar ve döngüler" öğreticisini tamamladınız. Bu kavramlar hakkında daha fazla bilgiyi şu makalelerde bulabilirsiniz:
Kaynakları temizleme
GitHub, 30 günlük etkinlik dışı kalma süresinden sonra Codespace'inizi otomatik olarak siler. Bu serideki diğer öğreticileri keşfetmeyi planlıyorsanız, Codespace'inizi (kod çalışma alanı) hazır durumda bırakabilirsiniz. .NET SDK'sını indirmek için .NET sitesini ziyaret etmeye hazırsanız Codespace'ınızı silebilirsiniz. Codespace'ınızı silmek için bir tarayıcı penceresi açın ve Codespaces'inize gidin. Pencerede kod boşluklarınızın listesini görmeniz gerekir. Learn eğitim kod alanının girişindeki üç noktayı (...) seçin ve sil seçin.