c#使用未赋值的局部变量列表

本文关键字:局部变量 列表 赋值 | 更新日期: 2023-09-27 17:50:05

     public struct Mp3spelerinfo
    {
        public string ID;
        public string Make;
        public string Model;
        public string MBSize;
        public string Price;
    };                        
    //AANMAAK MP3SPELERS DMV STRUCT
    public static void maakmp3speler()
    {
        List<Mp3spelerinfo> myArray;
        Mp3spelerinfo speler1;
        speler1.ID = "1";
        speler1.Make = "GET technologies .inc";
        speler1.Model = "HF 410";
        speler1.MBSize = "4096";
        speler1.Price = "129.95";
        myArray[0] = speler1;
    }

我能做些什么来防止这种情况的发生?我所做的是试着列出一个清单,这样我就可以使用。add来使事情变得更容易。myArray[0]是错误所在

c#使用未赋值的局部变量列表

在做任何事情之前,您需要实际创建一个新列表:

List<Mp3spelerinfo> myArray = new List<Mp3spelerinfo>();

接下来,您需要将项目添加到列表中。如果你尝试设置第一个项目,你会得到一个错误,没有那么多的项目在列表中:

myArray.Add(speler1);

您可能还应该避免调用列表myArray1。它不是一个数组,而是一个列表。这种区别很重要。如果没有更有意义的名字的话,最好叫它myList

我也会强烈建议您将Mp3spelerinfo更改为class,而不是struct。它在概念上并不代表一个单一的值,处理可变结构体是一个噩梦,如果你不非常熟悉c#的许多细节。在这里使用struct你会失去很多东西,也没有什么真正的好处。当您进行更改时,您需要使用new Mp3spelerinfo();显式初始化speler1以创建它的实例。类不像结构体那样隐式初始化。