尽管代码正确且没有警告,我仍无法在列表框中打印变量

时间:2019-02-08 21:00:12

标签: c#

尽管代码正确且没有警告,我仍无法在列表框中打印变量

我试图在随机分配后在列表框中打印结构类型变量。 分配完变量后,没有关闭窗体,我无法在列表框中显示变量。我尝试了很多方法,咨询了许多论坛,但没有找到解决方案。 我认为缺乏可视化与我必须声明的各种静态字段有关。

    public struct Quadro
    {
        public double Altezza, Larghezza, Prezzo;

        internal Quadro NuovaGalleria()
        {
            throw new NotImplementedException();
        }

        internal void NuovoQuadro()
        {
            throw new NotImplementedException();
        }
    }

    public Form1()
    {
        InitializeComponent();
    }
    public static Quadro q1 = new Quadro();
    static Random dado = new Random();

        public static Quadro NuovoQuadro()
        {

            q1.Altezza = dado.Next(0, 100);
            q1.Larghezza = dado.Next(0, 100);
            q1.Prezzo = dado.Next(0, 100);
            return q1;
        }
        public Quadro NuovaGalleria()
        {
            Quadro q0 = new Quadro();
            for (int i = 0; i < 100; i++)
            {
                q0 = NuovoQuadro();
            }
            return q0;
        }
    public static List<Quadro> ListaQuadri = new List<Quadro>();
    public static Queue<Quadro> CodaQuadri = new Queue<Quadro>();
    public static Stack<Quadro> PilaQuadri = new Stack<Quadro>();

    private void button1_Click(object sender, EventArgs e)
    {

        q1.NuovoQuadro();
        listBox1.Items.Add(q1.Altezza);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 100; i++)
        {
            q1 = q1.NuovaGalleria();
            listBox2.Items.Add(q1.Altezza);
            listBox2.Items.Add(q1.Larghezza);
            listBox2.Items.Add(q1.Prezzo);
        }
    }
    Quadro[] arrayquadri1 = ListaQuadri.ToArray();
    public void TrasferisciInPila()
    {
        for (int i = 0; i < 100; i++)
        {
            PilaQuadri.Push(arrayquadri1[i]);
        }
        ListaQuadri.Clear();
    }
    public void TrasferisciInCoda()
    {
        Quadro[] arrayquadri2 = CodaQuadri.ToArray();
        for (int i = 0; i < 100; i++)
        {
            CodaQuadri.Enqueue(arrayquadri2[i]);
        }
        PilaQuadri.Clear();
    }

0 个答案:

没有答案