none
Önceden boyutunu belirlediğim bir dizinin boyutunu bir eventin içerisinde değiştirebilir miyim? RRS feed

  • Soru

  • 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 Program
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
    static int sınır = 3;
    int?[] dizi = new int?[sınır];
    
     private void button1_Click(object sender, EventArgs e)
             {
            sınır=4;
     }
    Başlıkta da belirttiğim gibi dizinin uzunluğunu butona bastığımda değiştirmek istiyorum. Ama butona bastıktan sonraki işlemlerde dizinin uzunluğunu yeniden 3 olarak algılıyor, tazelemiyor. Yardımcı olur musunuz?
    22 Ağustos 2016 Pazartesi 16:27

Yanıtlar

Tüm Yanıtlar

  • Array'ı yeniden tanımlaman gerekiyor. Sen sadece sınır değişkenini değiştirmişsin. Ki ilk başta zaten runtime tarafından uzunluğu 3 olarak atanmış.

    private void button1_Click(object sender, EventArgs e)
             {
            dizi= new int?[4],;
     }
    dotnetperls.com/array

    • Yanıt Olarak Öneren Halit YURTTAŞ 22 Ağustos 2016 Pazartesi 22:39
    22 Ağustos 2016 Pazartesi 17:01
  • Deleted
    • Yanıt Olarak İşaretleyen Gökçe Güler 23 Ağustos 2016 Salı 06:30
    23 Ağustos 2016 Salı 02:29
  • Yaparsın da ne kadar sık yapacaksın... Bu süreklilik arz ediyorsa performans için büyüme faktörünüde eklemen gerekir. Aradan eleman silme, kayırma gibi işlerde sıkıntı olacaktır. E o zaman ne duruyorsun? List kullansana List kullansana...
    23 Ağustos 2016 Salı 05:59
  • Çok teşekkürler hocam işimi gördü.
    23 Ağustos 2016 Salı 06:31
  • ArrayListin gönderilen eleman sayısına göre boyutlandığını biliyorum. Aklıma o da gelmişti. Ama dizi.Leght komutunu kullandığım kodlar var. Bu yüzden kontrollü olarak kendim genişletmek  ya da daraltmak bana daha doğru geldi. Hem yalnızca iki kez birer elemanlık artış olacak. Yani 3ten 4e, 4den 5e. Performans açısından sıkıntı olacağını sanmam. Yine de teşekkürler (Bu arada espiriniz iyiydi :D)
    23 Ağustos 2016 Salı 06:39
  • ArrayList demedim List dedim :) Kendini geliştirme kısmına katılıyorum ama gerçek bir projede asla böyle bir şeye kalkışma.  Dizi büyütmek çok zahmetli bir iş, -bellekte yeni alan bulunacak oraya dizi açılacak, mevcut dizinin elemanları oraya kopyalanacak vs.-  bu yüzden en baştan 5 olarak açman daha performanslı olacaktır. 

    23 Ağustos 2016 Salı 07:41
  • Deleted
    23 Ağustos 2016 Salı 08:28
  • teşekkürler hocam inceliycem
    23 Ağustos 2016 Salı 16:32