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