C# Eğitimlerimize Prosedürlerimize gönderebileceğimiz Dizi Parametreleri konusu ile devam ediyoruz.

Prosedürlerimize aynı türden ve aynı veri tipine sahip 1000 lerce değer göndermek zorunda kalsaydık ne olacaktı?

Bu sorunun bir benzerini diziler konusunu anlatırken sormuştuk ve cevabımız bir sürü değişken tanımlamak yerine bir dizi tanımlaması yapmak olmuştu.

Aynı durum burada geçerli yukarıda bahsettiğimiz gibi bir durumda kalıyorsa Prosedüre dizi değişkenini değer olarak göndererek bu işin üstesinden gelebiliriz.

Kullanımı


<public void Prosedür_İsmi(DiziTürü[] Dizi_İsmi) 
{

 // Kodlar 

}

Bir örnekle olayı anlamaya çalışalım.Bir sınıfta öğrenciler ve aldığı notlar bulunsun. Öğrenci isimlerini ve notlarını sırayla dışarıdan alıp en daha sonra istediğimiz kişiyi sıra numarası ile sorgulayıp notunu öğrenelim.


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

namespace Kitap_Dizi_Parametresi_Kullanımı
{
    public partial class Form1 : Form
    {
        #region Parametreler

        string İsim3;

        int a = 0;

        int Not3;

        int No;

        #endregion

        #region Definition

        string[] İsim4 = new string[0];
        int[] Not4 = new int[0];

        #endregion

        public void ÖğrenciDurumu(string[] İsim1, int[] Not1, int a, string İsim2, int Not2)
        {
            İsim1[a] = İsim2;
            Not1[a] = Not2;
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            İsim3 = textBox1.Text;
            Not3 = Convert.ToInt32(textBox2.Text);

            Array.Resize(ref İsim4,a+1);
            Array.Resize(ref Not4, a+1);

            ÖğrenciDurumu(İsim4, Not4, a, İsim3, Not3);

            textBox1.Clear();
            textBox2.Clear();

            a++;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            No = Convert.ToInt32(textBox3.Text);

            textBox4.Text = İsim4[No].ToString();
            textBox5.Text = Not4[No].ToString();
        }
    }
}

Kodlamamız bu şekildeydi. Bizi ilgilendiren kısmına hemen göz atalım.


public void ÖğrenciDurumu(string[] İsim1, int[] Not1, int a, string İsim2, int Not2)
        {
            İsim1[a] = İsim2;
            Not1[a] = Not2;
        }

Prosedürümüze aynı normale bir parametre değeri gönderir gibi dizi tanımlamlarımızı gönderiyoruz. Burada dikkat etmemiz gereken gönderdiğimiz dizi parametre değeri prosedüre gönderilirken new sözcüğü ile yeni bir nesne türetiliyor gibi gönderilmiyor. 

Bu diziyi oluşturma işlemi sınıf yada kullanılacağı metodlar içinde gerçekleştiriliyor.

Sonuca bir göz atalım.

Bir önceki derste gördüklerimizi de işin içine katarak geniş bir kodlama yapmış olduk. Bir sonraki yazımda görüşmek üzere.

İçeriklerimizin Devamının Gelmesi İçin Destekçimiz Olabilirsiniz

What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.