20 Aralık 2020 Pazar

C# Metodların Aşırı Yüklenmesi

 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 WindowsFormsApp48

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private int Ortalama(int yazili1,int yazili2,int sozlu)

        {

            return (yazili1 + yazili2 + sozlu) / 3;

        }

        private int Ortalama(int yazili1,int yazili2,int sozlu,int odev)

        {

            return (yazili1 + yazili2 + sozlu + odev) / 4;

        }

        private void button1_Click(object sender, EventArgs e)

        {

            if(textBox4.Text=="")

            {

                MessageBox.Show("Ortalama="+Ortalama(Convert.ToInt32(textBox1.Text),

Convert.ToInt32(textBox2.Text),

                    Convert.ToInt32(textBox3.Text)));

            }

            else

                MessageBox.Show("Ortlama="+Ortalama(Convert.ToInt32(textBox1.Text),

                 Convert.ToInt32(textBox2.Text),Convert.ToInt32(textBox3.Text),

                 Convert.ToInt32(textBox4.Text)));

        }

    }

}



C# Ref Return

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApp38

{

    class Program

    {

        static void Main(string[] args)

        {

            string[] diller = { "C++", "C#", "Pyhton", "java" };

            ref string dil = ref StringYaz(3, diller);

            dil = "Go";

            Console.WriteLine(diller[3]);

            Console.ReadKey();

        }

        public static ref string StringYaz( int indeks,string[] degerler)

        {

            foreach(string deger in degerler)

            {

                if (degerler[indeks] == deger)

                    return ref degerler[indeks];

            }

            throw new Exception("Aranan değer bulunamadı");

            

        }

    }

}


C# Tuple İle Geriye Çoklu Değer Döndürme

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApp37

{

    class Program

    {

        public static(int i,int t) NotTopla(IEnumerable<int>notları)

        {

            int i = 0, t = 0;

            foreach(var not in notları)

            {

                i++;

                t += not;

            }

            return (i, t);

        }

        static void Main(string[] args)

        {

            var notlar = new[] { 90, 60, 80, 70 };

            var nothesapla = NotTopla(notlar);

            Console.WriteLine("Ortalama="+(nothesapla.t/nothesapla.i));

            Console.ReadLine();

        }

    }

}


C# Tuple Deconstruction

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApp36

{

    class Program

    {

        public static(string deger,bool onay)SifreKontrol(string sifre)

        {

            bool sifreOnay = false;

            if (sifre == "123")

                sifreOnay = true;

            var donenDeger = (d: sifre, o: sifreOnay);

            return donenDeger;

        }

        static void Main(string[] args)

        {

            Console.WriteLine("Şifreyi Giriniz:");

            string girilensifre = Console.ReadLine();

            var sifre = SifreKontrol(girilensifre);

            Console.WriteLine($"Girilen Şifre={sifre.Item1}.işlem sonucu={sifre.Item2}.");

            Console.ReadLine();

            //Bu özeliği kullanabilmek için System.ValueTuple paketini Nuget üzerinden yüklemek gerekiyor."Project" menüsünden "Manage Nuget Packages" seçeneğine tıklayarak System.ValueTuple referansını projemize ekliyouruz...

        }

    }

}



6 Aralık 2020 Pazar

C# Metod İçerisinde Parametre Kullanımı Params

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 WindowsFormsApp45
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       public void pasif(bool onay,params Button[] btn)
        {
           
            if(onay==true)
                for (int i = 0; i <= btn.Length-1; i++)
                {
                    btn[i].Enabled = false;
                }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            pasif(true, button2, button3, button4, button5);
        }
    }
}








C# Metod İçerisinde Parametre Kullanımı 2

 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 WindowsFormsApp44

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        void Renk_Degistir(Control nesne,string yazi="label",Boolean bold=false)

        {

            if((nesne) is TextBox)

            {

                nesne.Text = "";

                nesne.BackColor = Color.SteelBlue;

                nesne.ForeColor = Color.Red;

                if (bold == true)

                    nesne.Font = new Font(Font, FontStyle.Bold);

            }

            else if((nesne) is Label)

            {

                nesne.BackColor = Color.DimGray;

                nesne.ForeColor = Color.White;

            }

            nesne.Text = yazi;

        }

        private void button1_Click(object sender, EventArgs e)

        {

            Renk_Degistir(label1, "Adı Soyadı");

            Renk_Degistir(nesne: textBox1, yazi: "recep dogan", bold: true);

            Renk_Degistir(label2, "Görev Yeri");

            Renk_Degistir(nesne: textBox2, yazi: "izmir");

        }

    }

}



C# Metod İçerisinde Parametre Kullanımı

 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 WindowsFormsApp43

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        void Renk_Degistir(Control nesne)

        {

            if((nesne) is TextBox)

            {

                nesne.Text = "";

                nesne.BackColor = Color.SteelBlue;

                nesne.ForeColor = Color.Red;


            }

            else if((nesne) is Label)

            {

                nesne.BackColor = Color.DimGray;

                nesne.ForeColor = Color.White;

            }

        }

        private void button1_Click(object sender, EventArgs e)

        {

            Renk_Degistir(textBox1);

            Renk_Degistir(label1);

        }

    }

}



C# Form Üzerinde Şekil ve Yazının Birlikte Kullanımı

 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 WindowsFormsApp40

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            Graphics formGraphics = CreateGraphics();

            Font drawFont = new Font("Arial", 20);

            SolidBrush drawBrush = new SolidBrush(System.Drawing.Color.Black);

            StringFormat drawFormat = new StringFormat(StringFormatFlags.LineLimit);

            Rectangle r = new Rectangle(new Point(10, 10), new Size(250, 70));

            formGraphics.DrawRectangle(Pens.Black, r);

            formGraphics.DrawString("Birinci Satır" + "\n" + "ikinci Satır", drawFont, drawBrush, (Rectangle)r, drawFormat);

            drawFont.Dispose();

            drawBrush.Dispose();

            formGraphics.Dispose();             

        }

    }

}