Sie können StringBuilder
verwenden, wenn Sie Ihr Array in string
konvertieren. Sie können jedes Element in einer Zeile nach ","
(oder einem anderen Symbol) aufteilen, und Zeilen können durch "."
(oder ein anderes Symbol) geteilt werden. Wenn Sie also die Zeichenfolge in das Array nt[,]
analysieren, müssen Sie die Array-Größen nicht kennen:
public string ArrayToString(int[,] toConvert)
{
StringBuilder sb = new StringBuilder();
for (int a = 0; a < toConvert.GetLength(0);a++)
{
for (int b = 0; b < toConvert.GetLength(1);b++)
{
sb.Append(toConvert[a,b].ToString() + ",");
}
sb.Append(".");
}
return sb.ToString();
}
Dann können Sie Ihre Array von String wieder her:
public int[,] ArrayFromString(string toConvert)
{
string[] rows = toConvert.Split('.');
string[] elements = rows[0].Split(',');
int[,] result = new int[rows.Length, elements.Length];
for (int a = 0; a < rows.Length; a++)
{
string[] items = rows[a].Split(',');
for (int b = 0; b < items.Length; b++)
{
result[a,b] = Convert.ToInt32(items[b]);
}
}
return result;
}
Es wäre hilfreicher, wenn Sie etwas Code gepostet haben, aber die einfachste Methode besteht darin, Ihre Objekte in XML zu deserialisieren und das Ergebnis zu speichern. Dann können Sie sie wieder in Serialisieren, wenn das Spiel neu geladen wird. https://msdn.microsoft.com/en-gb/library/mt656718.aspx –