4 Ocak 2022 Salı

C# Overiding (Metodları Ezme)

 



//Overriding ile miras alınan sınıfın özellik ve metotları üzerinde değişiklikler yapılarak mirasçı sınıf //içerisinde kullanabiliriz...

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WinFormsApp5
{
    class Hesapla
    {
        public int yazili1 { get; set; }
        public int yazili2 { get; set; }
        public int sozlu { get; set; }
        public double islem()
        {
            double sonuc = (yazili1 + yazili2 + sozlu) / 3;
            return (sonuc);
        }

    }
    class Turemis_Sinif:Hesapla
    {
        public int odev { get; set; }
        public double islem()
        {
            double sonuc = (yazili1 + yazili2 + sozlu + odev) / 4;
            return (sonuc);
        }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Turemis_Sinif ortalama = new Turemis_Sinif();
            ortalama.yazili1 = 60;
            ortalama.yazili2 = 60;
            ortalama.sozlu = 60;
            ortalama.odev = 80;
            MessageBox.Show("Ortalama="+ortalama.islem());
        }
    }
}

3 Ocak 2022 Pazartesi

C# InotifyPropertyChanged Interface'i

 using System;

using System.Text;

using System.ComponentModel;

namespace PropertyChanged

{

    class bilgi : INotifyPropertyChanged

    {

        public event PropertyChangedEventHandler PropertyChanged;

        string ad = string.Empty;

        string soyad = string.Empty;

        public string Ad

        {

            get { return ad; }

            set

            {

                if(value!=ad)

                {

                    ad = value;

                    if(PropertyChanged!=null)

                    {

                        PropertyChanged(this, new PropertyChangedEventArgs("Ad"));

                    }

                }

            }

        }

        public string Soyad

        {

            get { return soyad; }

            set

            {

                if(value!=soyad)

                {

                    soyad = value;

                    if(PropertyChanged!=null)

                    {

                        PropertyChanged(this, new PropertyChangedEventArgs("Soyad"));

                    }

                }

            }

        }

    }   

    class Program

    {

        static void Main(string[] args)

        {

            var bilgi = new bilgi { Ad = "ali", Soyad = "Dost" };

            bilgi.PropertyChanged += (sender, e) =>

              Console.WriteLine(string.Format("{0} değişti.", e.PropertyName));

            bilgi.Ad = "tevfik ali ";

            bilgi.Soyad = "Dost";

            Console.ReadLine();

        }

    }

}

//InotifyPropertyChanged Interface'i property değerlerinde değişiklikleri yakalamak için kullanılır..








C# Auto Property Initializers


 using System;

using System.Text;



namespace Auto_Property_Initializers

{

    class bilgi

    {

        public string isim_bilgisi { get; set; }

        public string meslek_bilgisi { get; } = "Teknisyen";

    }

    class Program

    {

        static void Main(string[] args)

        {

            bilgi bilgiler = new bilgi();

            bilgiler.isim_bilgisi = "Arda YILMAZ";

            Console.WriteLine(bilgiler.isim_bilgisi.ToString());

            Console.WriteLine(bilgiler.meslek_bilgisi.ToString());

            Console.ReadLine();

        }

    }

}

//

C# Property Kullanımı Class Kullanarak Faktöriyelin Basamak Sayısını Bulan Program

 


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;


namespace WinFormsApp3

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        class faktoriyel

        {

            int i, sayi, sonuc;

            public int deger

            {

                get

                {

                    sonuc = 1;

                    for (int i = 1; i <= sayi; i++)

                    {

                        sonuc = sonuc * i;

                    }

                    return sonuc;

                }

                set

                {

                    sayi = value;

                }

                //set ile deger döndürürken get ile deger alırız..

            }

            public int basamak_sayisi

            {

                get

                {

                    return (sonuc.ToString().Length);

                }

            }

        }

        private void Form1_Load(object sender, EventArgs e)

        {


        }


        private void button1_Click(object sender, EventArgs e)

        {

            faktoriyel nsn_faktoriyel = new faktoriyel();

            nsn_faktoriyel.deger = Convert.ToInt32(textBox1.Text);

            textBox2.Text = nsn_faktoriyel.deger.ToString();

            label3.Text = "Basamak Sayısı=" + nsn_faktoriyel.basamak_sayisi;

        }

    }

}


C# Property Kullanımı Class Kullanarak Faktöriyel Hesaplayan Program



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        class faktoriyel
        {
            int i, sayi, sonuc;
            public int deger
            {
                get
                {
                    sonuc = 1;
                    for (int i = 1; i <= sayi; i++)
                    {
                        sonuc = sonuc * i;
                    }
                    return sonuc;
                }
                set
                {
                    sayi = value;
                }
                //set ile deger döndürürken get ile deger alırız..
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            faktoriyel nsn_faktoriyel = new faktoriyel();
            nsn_faktoriyel.deger = Convert.ToInt32(textBox1.Text);
            textBox2.Text = nsn_faktoriyel.deger.ToString();
        }
    }
}