![](/img/trans.png)
[英]Visual C# how to merge two 1D string[] arrays into one 2D string[,] array
[英]C# - 2D Array of String Arrays
我正在嘗試為基於控制台的游戲創建世界地圖。
在World類中,我有可以使用級別打印方法打印的字符串數組。
public static string[] A1 = new string[]
{
(" level data"),
(" level data"),
};
如果我這樣做的話
Render.DrawLevel(World.A1);
其中Render.DrawLevel采用args:
(string[] _level)
但是,在World Class中,我想創建一個可以容納所有Map的字符串數組的二維數組。
我試過了:
public static string[,][] Map = new string[,][]
{
{ A1 , A2 },
{ B1 , B2 },
};
但如果我嘗試使用:
World.Map[0,0]
作為我打印水平的參數,我得到一個錯誤,它是NULL
,而不是字符串[] A1。
如何創建二維數組數組,並正確引用string []參數?
非常感謝你,
鰭。
編輯:錯誤地將代碼復制為'static void'而不僅僅是'static'。
在數組初始化之后放置Map
初始化。 在Map
的初始化期間,A1,A2,B1,B2等於null。
語法非常好。
這按預期工作:
public static string[] A1 = new string[]
{
(" level data 1"),
(" level data 2"),
};
public static string[] A2 = new string[]
{
(" level data 1"),
(" level data 2"),
};
public static string[] B1 = new string[]
{
(" level data 1"),
(" level data 2"),
};
public static string[] B2 = new string[]
{
(" level data 1"),
(" level data 2"),
};
public static string[,][] Map = new string[,][]
{
{ A1, A2 },
{ B1, B2 },
};
二維陣列本質上是具有相同大小的陣列的陣列。 您可以將其可視化為矩陣,每列(或行,並不重要)作為單獨的數組。 那么第一行(列)中的元素將是每個數組的第一個元素。 你正在做的是嘗試創建一個二維數組數組。
對最佳答案這是關於你的問題一個偉大的閱讀。
您對Map的簽名不正確,它不能為void和多維字符串數組。 將其更改為:
public static string[,][] Map = new string[,][]
{
{A1,A2 },
{B1,B2 },
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.