Bu makalede, C# Windows Forms uygulaması kullanarak, kullanıcıdan alınan sayılar arasından sayıların toplamını hesaplayan bir uygulama yapacağız. Bu örnekte, LINQ (Language Integrated Query) kullanarak sayıların toplamını bulacağız ve sonucu ekranda görüntüleyeceğiz.
Projenin Amacı
- Kullanıcı, virgülle ayrılmış tamsayıları bir metin kutusuna girer.
- Program, LINQ kullanarak sayılar arasındaki toplamı hesaplar.
- Sonuç, ekranda gösterilir.
- Eğer kullanıcı geçerli sayılar girmezse bir uyarı mesajı gösterilir.
Gerekli Araçlar
- Visual Studio (2022 veya daha yeni bir sürüm önerilir)
- .NET Framework ile Windows Forms App (C#)
Uygulamanın Adımları
1. Windows Forms Projesi Oluşturma
- Visual Studio’yu açın ve yeni bir Windows Forms App (.NET Framework) projesi oluşturun.
- Projenize bir isim verin (örneğin:
SayilarinToplami
).
2. Form Tasarımı
Form tasarımında aşağıdaki bileşenlere ihtiyacımız olacak:
- Label: Kullanıcıya bilgi vermek için (
"Virgülle ayrılmış sayıları girin:"
yazabilir). - TextBox (
txtSayilar
): Kullanıcıdan tamsayı dizisini almak için. - Button (
btnHesapla
): Sayıların toplamını hesaplamak için. - Label (
lblToplam
): Hesaplanan toplamı göstermek için.
Form Görünümü:
3. Kod Ekleme
Form tasarımından sonra, aşağıdaki kodu Form1.cs
dosyasına ekleyin. Bu kod, verilen sayılar arasındaki toplamı hesaplar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | private void btnHesapla_Click(object sender, EventArgs e) { try { // Kullanıcıdan alınan metni parçala string giris = txtSayilar.Text; int[] sayilar = giris .Split(',') // Virgül ile ayır .Select(x => int.Parse(x.Trim())) // Her birini tamsayıya dönüştür .ToArray(); // LINQ ile sayıların toplamını hesapla if (sayilar.Any()) { int toplam = sayilar.Sum(); lblToplam.Text = $"Toplam: {toplam}"; } else { MessageBox.Show("Lütfen geçerli sayılar girin.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show($"Bir hata oluştu: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } } |
Kodun Açıklaması
1. Kullanıcıdan Girdi Alma
1 2 3 | string giris = txtSayilar.Text; |
- Kullanıcı tarafından girilen virgüllerle ayrılmış sayıları alıyoruz.
2. Metni Tamsayı Dizisine Dönüştürme
1 2 3 4 5 6 | int[] sayilar = giris .Split(',') // Virgül ile ayır .Select(x => int.Parse(x.Trim())) // Her birini tamsayıya dönüştür .ToArray(); |
- Girilen metni virgüllerle ayırıp, her bir değeri tamsayıya dönüştürüyoruz ve bir diziye çeviriyoruz.
3. Sayıların Toplamını Hesaplama
1 2 3 | int toplam = sayilar.Sum(); |
Sum()
metodu ile dizideki sayıların toplamını hesaplıyoruz.
4. Sonucu Ekranda Gösterme
1 2 3 | lblToplam.Text = $"Toplam: {toplam}"; |
- Hesaplanan toplamı
Label
üzerinde gösteriyoruz.
5. Geçersiz Giriş veya Boş Veri Durumu
1 2 3 4 5 6 | else { MessageBox.Show("Lütfen geçerli sayılar girin.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
- Eğer kullanıcı herhangi bir sayı girmezse veya geçersiz veri girerse, uyarı mesajı gösteriyoruz.
6. Hata Kontrolü
1 2 3 4 5 6 | catch (Exception ex) { MessageBox.Show($"Bir hata oluştu: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } |
- Uygulama çalışırken herhangi bir hata olursa, hata mesajı gösteriyoruz.
Örnek Çalışma
Sonuç
Bu uygulama, LINQ kullanarak sayılar dizisindeki elemanların toplamını hesaplamanın basit bir yolunu sunmaktadır. Kullanıcıdan alınan sayılarla toplama işlemi yapılmış ve sonuç kullanıcıya gösterilmiştir.