using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static string[] Map = new string[10] { "GGGGGGGGGGGGGGGG", //0
"G##############G", //1
"G# #G", //2
"G# ############G", //3
"G# .B.@ #G", //4
"G# #G", //5
"G# #G", //6
"G# #G", //7
"G##############G", //8
"GGGGGGGGGGGGGGGG"}; //9
static void Main(string[] args)
{
char[][] TT = new char[10][];
for (int i = 0; i < Map.Length; i++)
{
TT[i] = Map[i].ToCharArray();
}
foreach (var A in TT)
{
foreach (var Temp in A)
{
Console.Write(Temp);
}
Console.WriteLine();
}
/*
TT[0] = Map[0].ToCharArray();
TT[1] = Map[1].ToCharArray();
TT[2] = Map[2].ToCharArray();
TT[3] = Map[3].ToCharArray();
TT[4] = Map[4].ToCharArray();
TT[5] = Map[5].ToCharArray();
TT[6] = Map[6].ToCharArray();
TT[7] = Map[7].ToCharArray();
TT[8] = Map[8].ToCharArray();
TT[9] = Map[9].ToCharArray();
*/
}
static void Main2(string[] args)
{
char[] TT0 = Map[0].ToCharArray();
char[] TT1 = Map[1].ToCharArray();
char[] TT2 = Map[2].ToCharArray();
foreach (var Temp in TT1)
{
Console.Write(Temp);
}
Console.WriteLine();
}
static void Main1(string[] args)
{
char[] TT1 = Map[0].ToCharArray();
TT1[1] = '#';
foreach (var Temp in TT1)
{
Console.Write(Temp);
}
Console.WriteLine();
foreach (var Temp in Map[0])
{
Console.Write(Temp);
}
Console.WriteLine();
}
}
}
Main1에 내용을 설명하겠습니다.
char[] TT1 = Map[0].ToCharArray();은 Map[]의 0번째 배열을 캐릭터 배열로 만들어서 TT1에 넣겠다는 의미이다.
TT1[1] = '#'; 은 TT1에 인덱서 1번을 '#으로 바꾼다.
foreach문으로 TT1을 출력해 보면 'G'에서 '#'으로 바뀐것을 알수 있다.
foreach문으로 Map[0]을 출력해 보면 Map[0] 과 TT1을 비교할수 있다.
따라서 Map[0]은 바꿀수 없지만 TT1은 바꿀수 있다.
Main2의 내용을 설명하겠습니다.
Map[]의 나머지 것들도 캐릭터형배열로 바꾸는것을 보여줍니다.
char[] TT0 = Map[0].ToCharArray();
char[] TT1 = Map[1].ToCharArray();
char[] TT2 = Map[2].ToCharArray();
만든것중에 하나인 char[] TT1 = Map[1].ToCharArray();을 foreach문으로 출력해보았습니다.
Main의 내용을 설명하겠습니다.
C#은 이차원 배열을 만들때 두가지 방법이 있습니다.
하나는 arr[1, 2]이런 방법이 있고 (C#에서만 사용하는 방법, 고정배열)
하나는 arr[1][2](가변배열)이 있습니다. (자바에서 사용하는 방법, 가변배열)
char[][] TT = new char[10][];을 통해 이차원 배열을 만들었습니다.
TT[0] = Map[0].ToCharArray();
TT[1] = Map[1].ToCharArray();
TT[2] = Map[2].ToCharArray();
TT[3] = Map[3].ToCharArray();
TT[4] = Map[4].ToCharArray();
TT[5] = Map[5].ToCharArray();
TT[6] = Map[6].ToCharArray();
TT[7] = Map[7].ToCharArray();
TT[8] = Map[8].ToCharArray();
TT[9] = Map[9].ToCharArray();
을 통해서 Map을 캐릭터배열로 만들었다.
여기서 공통된것을 발견해서 for문으로 만들었다.
그리고 foreach문을 통해서 출력을 했다.
'스마트팩토리 > C#' 카테고리의 다른 글
소코반 만들기 수정 작업(2) (0) | 2020.10.28 |
---|---|
소코반 만들기 수정 작업(1) (0) | 2020.10.27 |
2020/9/8 C# (0) | 2020.09.08 |
2020/8/18 C# (0) | 2020.08.18 |
2020/7/30 C# (0) | 2020.07.30 |