所以我試圖使計算的時間,你在一個軌道交通承擔量的應用程序,所以我做站類和正常形態我做包含三個交錯數組行(每一行表示不同的地鐵線路),所以我聲明數組這樣的:station[][] lines = new station[3][];
,然後我聲明這樣不能鋸齒狀排列申報對象
lines[0] = new station[34];
lines[1] = new station[19];
lines[2] = new station[35];
行和i中的交錯數組這樣在聲明中的對象內的名稱和值:
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;
你能後的實際代碼。還顯示錯誤在哪一行。 – deathismyfriend
當你聲明一個參差不齊的數組時,你首先聲明所有的維度爲一個新的數組,但是你必須沿着第一維進行迭代,併爲該維度中的每個數組聲明一個長度爲X的新數組。請記住,鋸齒狀數組是一組數組。所以你「新」數組的數組,然後「新」每個數組。 – WDS
但是,如果lines [0] [0] .name引用具有名爲.Name的屬性的Class或Struct,那麼您還必須初始化該Class或Struct。這通常由構造函數完成,所以。 。 。是的,請張貼更多的代碼,以便我們看到發生了什麼。 – WDS