不能在锯齿数组中声明对象
本文关键字:声明 对象 数组 不能 | 更新日期: 2023-09-27 18:10:34
所以我想做一个应用程序来计算你在一个地铁运输中所花费的时间,所以我创建了一个车站类,在正常的形式下,我创建了一个包含三行(每一行代表一条不同的地铁线路)的参差数组,所以我像这样声明数组:station[][] lines = new station[3][];
然后我像这样声明行
lines[0] = new station[34];
lines[1] = new station[19];
lines[2] = new station[35];
,我在锯齿数组中的对象内部声明了名称和值,像这样:
lines[0][0].name = "stationname";
lines[0][0].number = 1;`
但是当我运行程序时,它给了我一个NullReferenceException
,我知道我没有正确声明对象(我认为),我不知道如何正确声明它们。下面是一个更完整的代码示例:
station[][] lines = new station[3][];
lines[0] = new station[34];
lines[0][0] = new station {name = "حلوان", number = 1 };
lines[0][0].number = 1;
lines[0][1].name = "عين حلوان";
lines[0][1].number = 2;
lines[0][2].name = "جامعة حلوان";
lines[0][2].number = 3;
lines[0][3].name = "وادى حوف";
lines[0][3].number = 4;
lines[0][4].name = "حدائق حلوان";
lines[0][4].number = 5;
两个 行
lines[1] = new station[19];
lines[1][0].name = "المنيب";
lines[1][0].number = 36;
lines[1][1].name = "ساقية مكى";
lines[1][1].number = 37;
lines[1][2].name = "ضواحى الجيزة";
lines[1][2].number = 38;
lines[1][3].name = "محطة الجيزة";
lines[1][3].number = 39;
lines[1][4].name = "فيصل";
lines[1][4].number = 40;
lines[1][5].name = "جامعة القاهرة";
lines[1][5].number = 41;
行3 lines[2] = new station[35];
lines[2][0].name = "مطار القاهرة";
lines[2][0].number =54;
lines[2][1].name = "السلام";
lines[2][1].number = 55;
lines[2][2].name = "عمر بن الخطاب";
lines[2][2].number = 56;
lines[2][3].name = "قباء";
lines[2][3].number = 57;
lines[2][4].name = "النزهة٢";
lines[2][4].number = 58;
lines[2][5].name = "النزهة١";
lines[2][5].number = 59;
数组初始化得很好,但是没有初始化数组中的任何对象。
:
lines[0][0] = new Station() { name = "...", number = 1 };
PS:我想你是指Station
而不是station
对吗?
我想可能有点混乱。我试着领会你的意思。您需要一个行数组,并且在该数组中,每行包含一个station数组。每个车站都有名字和号码。基于这种理解,下面是一些可以工作的代码,并给出了如何构建其余代码的想法。
internal class Station
{
internal string name;
internal int stationNumber;
}
private void Form1_Load(object sender, EventArgs e)
{
Station[][] line = new Station[3][]; // Assuming 3 lines total
line[0] = new Station[34]; // This is saying line #0 (stored in element major 0) needs 34 elements, each of which will contain a Station instance
line [0][0] = new Station { "حلوان", 1 };
line [0][1] = new Station {"عين حلوان", 2};
line[0][2] = new Station {"جامعة حلوان",3};
line[0][3] = new Station {"وادى حوف",4};
line[0][4] = new Station { "حدائق حلوان", 5 };
}