Fonksiyondan Birden Fazla Değer Döndürmek[C#]

19 Mart 2010 – 10:49 Aslında faydalı olabilcek 1bilgi bunu C’de pointerlar ile yapıyorduk burda iste daha kolay 1yöntem var oda ‘out’ bu sayede fonksiyondan 2 değer birden döndürebiliyoruz.
![fonksiyondanbirdenfazladeger fonksiyondanbirdenfazladeger Fonksiyondan Birden Fazla Değer Döndürmek[C#]](http://www.csharptr.com/wp-content/uploads/2010/03/fonksiyondanbirdenfazladeger.jpg)
Kodlar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace BirdenFazlaDeğerGönderme { public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } //sayı yapımız tanımlanıyor struct sayı { public long tam; public double ondalık; } sayı Ayır(double x) { sayı s; s.tam = (int) x;//Sayının tam kısmını al s.ondalık = x - s.tam ;//Sayıdan tam kısmı çıkarılırsa //ondalık kısmı kalır return s; } private void button1_Click(object sender, System.EventArgs e) { double x; x = 145.39; sayı s; s = Ayır(x); MessageBox.Show("Tam Kısım:" + s.tam.ToString() + " Ondalık Kısım:" + s.ondalık.ToString()); } void Ayır2(double x, ref int tam, ref double ondalık) { tam = (int) x;//Sayının tam kısmını al ondalık = x - tam ;//Sayıdan tam kısmı çıkarılırsa //ondalık kısmı kalır } private void button2_Click(object sender, System.EventArgs e) { double x, z=0; int y=0; x = 145.39; Ayır2(x, ref y, ref z); MessageBox.Show("Tam Kısım:" + y.ToString() + " Ondalık Kısım:" + z.ToString()); } //asıl bahsettiğim kısım burası görüldüğü gibi out ile ondalık ve tam adında değişkenler dışarı //aktarılmış ve sonra fonksionda ref ile bu değişkenler çağırılmıştır. void Ayır3(double x, out int tam, out double ondalık) { tam = (int) x;//Sayının tam kısmını al ondalık = x - tam ;//Sayıdan tam kısmı çıkarılırsa //ondalık kısmı kalır } private void button3_Click(object sender, System.EventArgs e) { double x, z; int y; x = 145.39; Ayır3(x, out y, out z); MessageBox.Show("Tam Kısım:" + y.ToString() + " Ondalık Kısım:" + z.ToString()); } private void Form1_Load(object sender, EventArgs e) { } } } |
Yukarıdaki örnekte sayının tam ve ondalık kısmı 2 farklı değişken ile Ayır3 fonksiyonunundan döndürülmüştür.3 fonksiyonda aynı işlemi yapmaktadır.Yukarıdaki örnek proejeye aşağıdaki linkten ulaşabilirsiniz.
Linkler
RapidShare
SendSpace
Csharptr
Etiketler: ”birden fazla değer döndürmek, C#”