{"id":2316,"date":"2023-12-13T21:43:16","date_gmt":"2023-12-13T18:43:16","guid":{"rendered":"https:\/\/www.aydiner.gen.tr\/?p=2316"},"modified":"2023-12-13T21:57:45","modified_gmt":"2023-12-13T18:57:45","slug":"c-windows-forms-uygulamalarinda-diziler","status":"publish","type":"post","link":"https:\/\/www.aydiner.gen.tr\/index.php\/2023\/12\/13\/c-windows-forms-uygulamalarinda-diziler\/","title":{"rendered":"C# Windows Forms Uygulamalar\u0131nda Diziler"},"content":{"rendered":"<p>Diziyi tan\u0131mlamak i\u00e7in a\u015fa\u011f\u0131daki gibi bir sintaks\u0131 kullanabilirsiniz:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\/\/ Veri tipi&#x5B;] diziAdi = new Veri tipi&#x5B;diziUzunlugu];\r\nint&#x5B;] sayilar = new int&#x5B;5]; \/\/ 5 elemanl\u0131 bir tamsay\u0131 dizisi\r\n<\/pre>\n<p>Dizi Elemanlar\u0131na Eri\u015fim:<br \/>\nDizi elemanlar\u0131na, indeks numaras\u0131n\u0131 kullanarak eri\u015febilirsiniz. Dizilerin indeksleri 0&#8217;dan ba\u015flar.<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nsayilar&#x5B;0] = 10;    \/\/ Dizinin ilk eleman\u0131na de\u011fer atama\r\nint deger = sayilar&#x5B;2]; \/\/ Dizinin \u00fc\u00e7\u00fcnc\u00fc eleman\u0131n\u0131 alma\r\n<\/pre>\n<p>Diziyi tan\u0131mlarken de\u011fer atama:<br \/>\nDizi tan\u0131mlarken ayn\u0131 zamanda ba\u015flang\u0131\u00e7 de\u011ferleri de atayabilirsiniz:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nint&#x5B;] sayilar = { 1, 2, 3, 4, 5 };\r\n<\/pre>\n<p>Dizi Uzunlu\u011fu:<br \/>\nDizi uzunlu\u011funa eri\u015fmek i\u00e7in Length \u00f6zelli\u011fini kullanabilirsiniz:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nint uzunluk = sayilar.Length;\r\n<\/pre>\n<p>D\u00f6ng\u00fclerle Dizi Elemanlar\u0131na Eri\u015fim:<br \/>\nfor veya foreach gibi d\u00f6ng\u00fclerle dizideki elemanlara kolayca eri\u015febilirsiniz:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nfor (int i = 0; i &lt; sayilar.Length; i++) {\r\n    listbox.items.Add(sayilar&#x5B;i])\r\n}\r\n\r\nforeach (int sayi in sayilar) {\r\n    \/\/ sayi ile \u00e7al\u0131\u015fma\r\n}\r\n<\/pre>\n<p>Diziler, verileri d\u00fczenli bir \u015fekilde depolamak ve i\u015flemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<p>\u00d6rnek : Bir Butona bas\u0131ld\u0131\u011f\u0131nda renkler<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nstring&#x5B;] renkler = { &quot;K\u0131rm\u0131z\u0131&quot;, &quot;Ye\u015fil&quot;, &quot;Mavi&quot;, &quot;Sar\u0131&quot;, &quot;Turuncu&quot; };\r\n\r\n            \/\/ ListBox'\u0131 temizle\r\n            listBoxRenkler.Items.Clear();\r\n\r\n            \/\/ Diziyi ListBox'a ekle\r\n            foreach (string renk in renkler)\r\n            {\r\n                listBoxRenkler.Items.Add(renk);\r\n            }\r\n<\/pre>\n<p>Butona t\u0131kland\u0131\u011f\u0131nda, \u00f6nceden tan\u0131ml\u0131 bir dizi olu\u015fturulur ve bu dizi ListBox kontrol\u00fcne eklenir. ListBox&#8217;\u0131 temizlemek (Items.Clear()) her seferinde yeni bir dizi eklemek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nusing System;\r\nusing System.Windows.Forms;\r\n\r\nnamespace DiziVeListBoxOrnegi\r\n{\r\n    public partial class Form1 : Form\r\n    {\r\n        private string&#x5B;] sehirler = { &quot;\u0130stanbul&quot;, &quot;Ankara&quot;, &quot;\u0130zmir&quot;, &quot;Bursa&quot;, &quot;Adana&quot; };\r\n\r\n        public Form1()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        private void Form1_Load(object sender, EventArgs e)\r\n        {\r\n            \/\/ Form y\u00fcklendi\u011finde otomatik olarak ListBox'a dizi ekleyin\r\n            DiziyiListBoxaEkle();\r\n        }\r\n\r\n        private void buttonIslem_Click(object sender, EventArgs e)\r\n        {\r\n            \/\/ ListBox'tan se\u00e7ilen \u00f6\u011feyi al\r\n            if (listBoxDiziler.SelectedIndex != -1)\r\n            {\r\n                string secilenSehir = listBoxDiziler.SelectedItem.ToString();\r\n\r\n                \/\/ MessageBox ile se\u00e7ilen \u00f6\u011feyi g\u00f6ster\r\n                MessageBox.Show(&quot;Se\u00e7ilen \u015eehir: &quot; + secilenSehir, &quot;Bilgi&quot;);\r\n            }\r\n            else\r\n            {\r\n                MessageBox.Show(&quot;L\u00fctfen bir \u015fehir se\u00e7in.&quot;, &quot;Uyar\u0131&quot;);\r\n            }\r\n        }\r\n\r\n        private void DiziyiListBoxaEkle()\r\n        {\r\n            \/\/ Dizi elemanlar\u0131n\u0131 ListBox'a ekleyin\r\n            foreach (string sehir in sehirler)\r\n            {\r\n                listBoxDiziler.Items.Add(sehir);\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>Bu \u00f6rnekte, form y\u00fcklendi\u011finde otomatik olarak bir dizi ListBox&#8217;a eklenir (DiziyiListBoxaEkle metodu). Ard\u0131ndan, ListBox&#8217;tan se\u00e7ilen \u00f6\u011feyi bir butona t\u0131kland\u0131\u011f\u0131nda al\u0131p bir MessageBox ile g\u00f6steririz. Bu \u00f6rnek, ListBox ile diziler aras\u0131nda etkile\u015fimi g\u00f6stermek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>\u00f6rnek:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nusing System;\r\nusing System.Windows.Forms;\r\n\r\nnamespace DiziVeListBoxOrnegi\r\n{\r\n    public partial class Form1 : Form\r\n    {\r\n        private int&#x5B;] sayiDizisi;\r\n\r\n        public Form1()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        private void buttonDiziOlustur_Click(object sender, EventArgs e)\r\n        {\r\n            \/\/ TextBox'tan al\u0131nan adet bilgisini kontrol et\r\n            if (int.TryParse(textBoxAdet.Text, out int adet) &amp;&amp; adet &gt; 0)\r\n            {\r\n                \/\/ Rastgele say\u0131lar i\u00e7eren bir dizi olu\u015ftur\r\n                Random random = new Random();\r\n                sayiDizisi = new int&#x5B;adet];\r\n\r\n                for (int i = 0; i &lt; adet; i++)\r\n                {\r\n                    sayiDizisi&#x5B;i] = random.Next(1, 101); \/\/ 1 ile 100 aras\u0131nda rastgele say\u0131lar\r\n                }\r\n\r\n                \/\/ Diziyi ListBox'a ekle\r\n                DiziyiListBoxaEkle();\r\n\r\n                \/\/ Dizideki say\u0131lar\u0131 topla\r\n                int toplam = 0;\r\n                foreach (int sayi in sayiDizisi)\r\n                {\r\n                    toplam += sayi;\r\n                }\r\n\r\n                \/\/ Toplam\u0131 Label'da g\u00f6ster\r\n                labelToplam.Text = &quot;Toplam: &quot; + toplam.ToString();\r\n            }\r\n            else\r\n            {\r\n                MessageBox.Show(&quot;L\u00fctfen ge\u00e7erli bir pozitif say\u0131 girin.&quot;, &quot;Uyar\u0131&quot;);\r\n            }\r\n        }\r\n\r\n        private void DiziyiListBoxaEkle()\r\n        {\r\n            \/\/ ListBox'\u0131 temizle\r\n            listBoxSayilar.Items.Clear();\r\n\r\n            \/\/ Dizi elemanlar\u0131n\u0131 ListBox'a ekle\r\n            foreach (int sayi in sayiDizisi)\r\n            {\r\n                listBoxSayilar.Items.Add(sayi);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n\r\n<\/pre>\n<p>Bu \u00f6rnek, kullan\u0131c\u0131n\u0131n girdi\u011fi say\u0131 adedince rastgele say\u0131lar i\u00e7eren bir dizi olu\u015fturup, bu diziyi ListBox&#8217;a ekler. Daha sonra, dizideki say\u0131lar\u0131 toplayarak bir Label&#8217;da g\u00f6sterir.<\/p>\n<p>\u00f6rnek:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nusing System;\r\nusing System.Windows.Forms;\r\nusing System.Linq;\r\n\r\nnamespace DiziVeListBoxOrnegi\r\n{\r\n    public partial class Form1 : Form\r\n    {\r\n        private int&#x5B;] sayiDizisi;\r\n\r\n        public Form1()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        private void buttonDiziOlustur_Click(object sender, EventArgs e)\r\n        {\r\n            \/\/ 10 elemanl\u0131 bir dizi olu\u015ftur\r\n            sayiDizisi = new int&#x5B;] { 45, 12, 78, 34, 56, 23, 89, 67, 43, 21 };\r\n\r\n            \/\/ Diziyi s\u0131rala\r\n            Array.Sort(sayiDizisi);\r\n\r\n            \/\/ Diziyi ListBox'a ekle\r\n            DiziyiListBoxaEkle();\r\n\r\n            \/\/ Dizideki say\u0131lar\u0131n ortalamas\u0131n\u0131 al ve Label'da g\u00f6ster\r\n            double ortalama = sayiDizisi.Average();\r\n            labelOrtalama.Text = &quot;Ortalama: &quot; + ortalama.ToString(&quot;F2&quot;);\r\n        }\r\n\r\n        private void DiziyiListBoxaEkle()\r\n        {\r\n            \/\/ ListBox'\u0131 temizle\r\n            listBoxSiralananSayilar.Items.Clear();\r\n\r\n            \/\/ Dizi elemanlar\u0131n\u0131 ListBox'a ekle\r\n            foreach (int sayi in sayiDizisi)\r\n            {\r\n                listBoxSiralananSayilar.Items.Add(sayi);\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>Bu \u00f6rnek, \u00f6nceden belirlenmi\u015f bir diziyi s\u0131ralar ve s\u0131ral\u0131 diziyi ListBox&#8217;a ekler. Ayr\u0131ca, dizideki say\u0131lar\u0131n ortalamas\u0131n\u0131 hesaplar ve bir Label&#8217;da g\u00f6sterir. Bu \u00f6rnek, dizileri s\u0131ralama ve LINQ k\u00fct\u00fcphanesini kullanarak dizideki elemanlar\u0131n ortalamas\u0131n\u0131 alma konular\u0131n\u0131 i\u00e7erir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diziyi tan\u0131mlamak i\u00e7in a\u015fa\u011f\u0131daki gibi bir sintaks\u0131 kullanabilirsiniz: \/\/ Veri tipi&#x5B;] diziAdi = new Veri tipi&#x5B;diziUzunlugu]; int&#x5B;] sayilar = new [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2233,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[197,196],"class_list":["post-2316","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programlama","tag-c-diziler","tag-c-windows-forms-uygulamalarinda-diziler"],"_links":{"self":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/comments?post=2316"}],"version-history":[{"count":9,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2316\/revisions"}],"predecessor-version":[{"id":2325,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2316\/revisions\/2325"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media\/2233"}],"wp:attachment":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media?parent=2316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/categories?post=2316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/tags?post=2316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}