構建字符串我有放在特定索引值,像這樣的數組:遞歸從數組
{4: 6, 8: 1}
它有時可有在它裏面陣列。我有一個函數可以從頭開始構建一個字符串,因爲將數組轉換爲字符串會將所有沒有值的索引放入該字符串中,有時索引可能會達到數百萬。
請注意,GetValue是一個單獨的函數並返回一個對象,而DatabaseArray只是Player.IO使用的一種特殊類型的數組。我還會指出,我不會簡單地使用foreach,因爲我需要顯示索引。
value = "{";
DatabaseArray copiedarray = (DatabaseArray)result.GetValue(i);
for (int j = 0; j < copiedarray.Count; j++)
{
if (copiedarray.Contains(j))
{
if (value != "{")
{
value = value + ", ";
}
value = value + j + ": " + copiedarray.GetValue(j).ToString();
}
}
value = value + "}";
這適用於頂層,但不適用於任何底層數組。它會變成這樣:
{0: <null>, 1: <null>, 2: <null>, 3: {0: <null>, 1: 2}, 4: 5}
進入這個:
{3: {0: <null>, 1: 2}, 4: 5}
但我想讓它這樣的:
{3: {1: 2}, 4: 5}
我不能找到一種方法,使其重申通過與構建所有底層數組。我應該注意到存在未知數量的嵌套數組,並且我不能簡單地轉換爲字符串並刪除空行,因爲我在非常大的索引上得到OutOfMemoryExceptions。
你想要形成一個json字符串嗎? –
你是什麼意思?我只需要一個包含所有具有非空值的索引的字符串。 – Cool12309
數組是特定類型T的對象的固定大小集合。我無法看到數組如何包含類型T的對象以及'嵌套數組(大概是類型T)。請解釋。 –