我想創建一個基於控制檯的遊戲的世界地圖。C# - 二維數組的字符串數組
在World類中,我有可以使用級別打印方法打印的字符串數組。
public static string[] A1 = new string[]
{
(" level data"),
(" level data"),
};
這工作,如果我做
Render.DrawLevel(World.A1);
其中Render.DrawLevel需要ARGS:
(string[] _level)
然而,在世界級的,我想創建一個二維數組可以容納所有Map的字符串數組。
我曾嘗試:
public static string[,][] Map = new string[,][]
{
{ A1 , A2 },
{ B1 , B2 },
};
但是,如果我嘗試使用:
World.Map[0,0]
我的論據,印刷水平,我得到給出錯誤,這是NULL
,而不是字符串[] A1。
如何創建一個2d的數組數組,並正確引用string []參數?
非常感謝,
Fin。
編輯:錯誤地將代碼複製爲'靜態無效'不只是'靜態'。
你正在創建*陣列*的2維數組。也就是說,數組的每個元素都是一個數組本身。一個數組是一個引用類型,因此它的默認值是'null'。想一想你製作一系列字符串時會發生什麼;數組中的元素將是'null',直到你爲它們賦值,你的情況基本上是一樣的。您需要初始化Map [,]'的每個元素,因爲它們不會像您期望的那樣自動引用空數組。 – InBetween
謝謝,我引用了一個菜鳥的錯誤或者在引用它們之後分配變量,並且仍然期待它們賦值。這是問題的原因。 –