二維陣列和字串之間的互轉
為什麼會想到把一個二維陣列轉成字串呢?哎,說來話長,簡單來說就是我在儲存遊戲的時候,用的那個不支援多維陣列,而且我也不知道一共會有多少個二維陣列,所以我就想著乾脆轉換成一個長長的字串算了,不知道這樣會消耗多少效能。。。但是也管不了了,先實現功能再說讀取遊戲的時候還要把字串轉換成二維陣列。。。
/// <summary>
/// 將一個二維陣列轉化為一個string/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static string ConvertString(int[][] list)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.Length; i++)
{
for (int j = 0; j < list[i].Length; j++)
{
sb.Append(list[i][j]);
}
}
return sb.ToString();
}
/// <summary>
/// 將一個string轉化為一個二維陣列
/// </summary>
/// <param name="sb"></param>
/// <returns></returns>
public static int[][] ConvertTwoDimensional(string sb)
{
int xx = 13;//我這個陣列的大小是固定的13*13
int yy = 13;
int[][] two = new int[xx][];
for (int i = 0; i < xx; i++)
{
two[i] = new int[yy];
for (int j = 0; j < yy; j++)
{
two[i][j] = int.Parse(sb.Substring(((j* xx) + i) *3, 3));
}
}
return two;
}