C# DİZİ PARAMETRELİ FONKSİYONLAR

C# programlama dili ile dizileri parametre olarak alan ve değer olarak dizi değişken döndüren fonksiyon örnekleri.




C# ile dizi değişkenleri fonksiyonlara parametre olarak gönderirken sadece değişken ad yazılır. Fonksiyonlarda fonksiyonun alacağı değerler tanımlanırken veri tipi önüne dizi işareti “[]”konulur. Eğer fonksiyon dizi değişken döndürecekse fonksiyon tipinin önünde de dizi işareti olur.

Aşağıdaki örnekte button1’e basınca dizi değişken “DiziToplam” fonksiyonuna diziyi gönderiyor. Bu fonksiyonda dizi elemanlarını toplayıp mesaj penceresi ile kullanıcıya gösteriyor.


Dizi Değişkeni Parametre Olarak Alan Fonksiyon

           private void button1_Click(object sender, EventArgs e)
        {
            int[] dizi = { 1, 2, 3, 4, 5, 6, 7, 8 };
            DiziToplam(dizi);
        }
        private void DiziToplam(int[] dizi1)
        {
            int toplam=0;
            for(int x=0;x<dizi1.Length;x++)
            {
                toplam += dizi1[x];
            }
            MessageBox.Show(toplam.ToString());
        }


Dizi Değişkeni Parametre Olarak Alan ve Değer Olarak Dizi Değişken Döndüren Fonksiyon

Aşağıdaki örnekte 13 elemanlı bir dizi tanımlanmış. Buttona tıklanınca “Siralama” fonksiyonu çağrılıyor ve değişken olarak dizi gönderiliyor. “Siralama” fonksiyonu bu diziyi sıralıyor değer olarak sıralanmış diziyi döndürüyor. Button_clik yordamı sıralanmış diziyi alarak listbox’a yazdırıyor.

      private void button2_Click(object sender, EventArgs e)
        {
            
            int[] dizi1 = { 3, 9, 6, 78, 55, 34, 12, 21, 22, 99, 87, 2, 1 };
            int[] dizi3 = Siralama(dizi1);
            for(int k=0;k<dizi1.Length;k++)
            {
                listBox1.Items.Add(dizi3[k].ToString());
            }
        }
        private int[] Siralama(int[] dizi2)
        {
            int Lw1;

            for (int i = 0; i < dizi2.Length-1; i++)
            {
                for (int j1 = 1; j1 < dizi2.Length; j1++)
                {
                    if (dizi2[j1] < dizi2[j1 - 1])
                    {
                        Lw1 = dizi2[j1];
                        dizi2[j1] = dizi2[j1 - 1];
                        dizi2[j1 - 1] = Lw1;

                    }
                }
            }
            return dizi2;
        }



Karışık Fonksiyon Örneği

Aşağıdaki örnekte, en başta buttonun click yordamında iki adet dizi tanımlanmış. Buttona tıklayınca önce bu diziler “ParametreToplam” fonksiyonuna gönderiliyor. “ParametreToplam” fonksiyonu “Siralama” fonksiyonunu iki kez çağırarak kendisine gelen bu dizileri sıralatıyor ve yeni dizilere aktarıyor. Daha sonra sıralanmış olarak aldığı bu dizilerin elemanlarını karşılıklı olarak topluyor ve sonu yine dizi değişken olarak çağrıldığı yere, yani buttonun click yordamına gönderiyor. Toplam dizisinin elemanları burada listbox’a yazdırılıyor.


Kolay Gelsin


      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 CSFUNCTION
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
  
   
        private double[] Siralama(double[] dizi2)
        {
            double Lw1;

            for (int i = 0; i < dizi2.Length-1; i++)
            {
                for (int j1 = 1; j1 < dizi2.Length; j1++)
                {
                    if (dizi2[j1] < dizi2[j1 - 1])
                    {
                        Lw1 = dizi2[j1];
                        dizi2[j1] = dizi2[j1 - 1];
                        dizi2[j1 - 1] = Lw1;

                    }
                }
            }
            return dizi2;
        }
  
        private void button3_Click(object sender, EventArgs e)
        {
           double[] diziA = { 3, 4, 7, 80, 45, 67, 11, 23, 99, 33, 56, 78 };
           double[] diziB = { 4, 56, 71, 16, 18, 64, 121, 116, 394, 2, 1, 100 };

           double[] diziC = ParametreToplam(diziA, diziB);
            for(int r=0;r<diziB.Length;r++)
            {
                listBox1.Items.Add(diziC[r].ToString());
            }
        }
        private double[] ParametreToplam(double[] D1, double[] D2)
        {
            int x1 = D1.Length;
            int y1 = D2.Length;
            double[] A1 = new double[x1];
            double[] A2 = new double[y1];
            A1 = Siralama(D1);
            A2 = Siralama(D2);
            double[] A3 = new double[D1.Length];
            for (int i = 0; i < x1;i++ )
            {
                A3[i] = A1[i] + A2[i];
            }

                return A3;
        }
    
      
       
     
    }
}


Normal Fonksiyon Örnekleri



SANATSAL BİLGİ

21/11/2016



 

  • YORUM YAZ
  • ADI SOYADI(veya nick)
  • YORUM


COPYRIGHT© HER HAKKI SAKLIDIR
Sitede Yer Alan Bilgi Belge Ve Materyallerin İzinsiz olarak Kopyalanması ve Alıntılanması Yasaktır

SANATSAL BILGI