C# 使用结构和arraylist获取集合帮助

C# 使用结构和arraylist获取集合帮助,c#,struct,get,set,C#,Struct,Get,Set,我正在尝试使(private int vr;)在循环中工作,这样我就可以轻松地更改它,但是我不知道如何对此进行get/set,或者是否必须使用get set。 我希望这是足够的信息,如果需要进一步的信息,请留下评论这样说 struct mp3players { private int ID; private string Make; private string Model; private int MBSize;

我正在尝试使(private int vr;)在循环中工作,这样我就可以轻松地更改它,但是我不知道如何对此进行get/set,或者是否必须使用get set。 我希望这是足够的信息,如果需要进一步的信息,请留下评论这样说

    struct mp3players
    {

        private int ID;
        private string Make;
        private string Model;
        private int MBSize;
        private double Price;
        private int vr;

        public int id
        {
            get { return this.ID; }
            set { this.ID = value; }
        }

        public string make
        {
            get { return this.Make; }
            set { this.Make = value; }
        }

        public string model
        {
            get { return this.Model; }
            set { this.Model = value; }
        }

        public int mbsize
        {
            get { return this.MBSize; }
            set { this.MBSize = value; }
        }

        public double price
        {
            get { return this.Price; }
            set { this.Price = value; }
        }

        public int VR
        {
            get { return this.vr; }
            set { this.vr = value; }
        }
    } 

    private static ArrayList mps;
    static void mp3()
    {
        mp3players mp1 = new mp3players();
        mp1.id = 1;
        mp1.make = "GET technologies .inc";
        mp1.model = "HF 410 ";
        mp1.mbsize = 4096;
        mp1.price = 129.95;
        mp1.VR = 500;

        mp3players mp2 = new mp3players();
        mp2.id = 2;
        mp2.make = "Far & Loud";
        mp2.model = "XM 600 ";
        mp2.mbsize = 8192;
        mp2.price = 224.95;
        mp2.VR = 500;

        mp3players mp3 = new mp3players();
        mp3.id = 3;
        mp3.make = "Innotivative";
        mp3.model = "Z3 ";
        mp3.mbsize = 512;
        mp3.price = 79.95;
        mp3.VR = 500;

        mp3players mp4 = new mp3players();
        mp4.id = 4;
        mp4.make = "Resistance S.A.";
        mp4.model = "3001 ";
        mp4.mbsize = 4096;
        mp4.price = 124.95;
        mp4.VR = 500;

        mp3players mp5 = new mp3players();
        mp5.id = 5;
        mp5.make = "CBA";
        mp5.model = "NXT volume ";
        mp5.mbsize = 2048;
        mp5.price = 159.05;
        mp5.VR = 500;

        mps = new ArrayList();
        mps.Add(mp1);
        mps.Add(mp2);
        mps.Add(mp3);
        mps.Add(mp4);
        mps.Add(mp5);         
    }

    static void mutteer()
    {
        int i = 1;
        int a;

        startloop:
        while (i == 1)
        {
            Console.WriteLine("Wat is het Id van de mp3 speler?");
            try
            {
                a = Convert.ToInt16(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Dat is geen nummer waarde!");
                goto startloop;
            }

            if (a == 1)
            {
                Console.WriteLine("Wat is het nieuwe voorraad");
                try
                {
正如你所看到的,我在这里写了一个显然不起作用的虚拟现实, 在我的理解中,我需要使用集合并到达这里,但是我如何获得集合并使用集合

                    VR = Convert.ToInt32(Console.ReadLine());
                    i = 2;
                }
                catch
                {
                    Console.WriteLine("Dat is geen nummer waarde!");
                    goto startloop;
                }
            }
        }

    }

基本上,避免可变结构。他们很痛苦。为什么要使用结构?我还强烈建议您研究自动实现的属性和命名约定。(通常情况下,您的私有字段将以小写字符开头,但您的公共属性将以大写字符开头。)我必须使用结构,否则我将永远不会这样做,这就是问题所在。但为什么您必须使用结构?任何时候,当你想做一些非常不寻常和非惯用的事情时,你都应该解释你的理由——这样幸运的话,它就可以避免。如果你能让你的问题包含一个简短但完整的程序来演示这个问题,那也会很有帮助——你当前的代码不是这两个。作业说明我必须使用结构(这是一个学校项目),基本上是VR=Convert.ToInt32(Console.ReadLine());需要更改为要添加的金额,并且必须在不同的选项卡上查看您输入的金额。(我将在问题中添加一张图片。)图片上发生的事情是您选择id,而不是数量,当选择disired amount(voorraad)时,数量(voorraad)应更改id@JonSkeet,问题不是他在使用结构,而是没有结构的实例,因此VR=毫无意义!