int[] arr = new int[5] { 1, 2, 3, 4, 5 };
b에 arr을 넣어주면 참조형식이기 때문에
b[0]에 11을 넣어주게 되면 arr[0]의 값이 바뀌게 된다.
int[] b = arr;
b[0] = 11;
Console.WriteLine(arr[0]);
int[,] c = new int[5, 5]; //둘다 가능하지만 이게 정답
초기화 방법
//이차원배열의 초기화
c[0, 0] = 1;
c[0, 1] = 2;
c[0, 2] = 3;
int[][] a = new int[5][]; //배열안에 크기가 다른 배열을 넣을 수 있음
a[0] = new int[1]; //가변배열이라고 함.
int[] tArr = new int[5] { 3, 7, 5, 1, 4 };
배열이 선언되어 있을 때
Array.Sort(tArr);
1, 3, 4, 5 ,7 로 오름차순으로 배열이 정렬된다.
Array.Reverse(tArr);
7, 5, 4, 3, 1 로 내림차순으로 배열이 정렬된다.
이건 정렬된 배열을 반대로 바꿔준 것이다.
StringBuilder sb = new StringBuilder();
위와 같이 선언을 할 수 있다.
//100칸짜리 capacity를 확보
StringBuilder sb = new StringBuilder(100);
StringBuilder도 16바이트를 기본으로 확보하도록 되어있지만 16바이트가 넘어가면 32바이트로 늘어난다.(2배씩 증가 다음은 64바이트)
위 코드 처럼 미리 확보할 수도 있으니 참고.
sb.Append("Hello");
sb.AppendLine("world");
Append는 sb에 문자열을 붙이는 함수다.
AppendLine은 sb에 문자열을 붙이고 줄바꿈까지 붙여주는 함수다.
sb.Insert(5, "C#");
Insert는 sb안에 있는 문자열 5번째 위치에 "C#"을 넣어주는 함수다.
sb.Replace("Hello", "Test");
Replace는 sb에서 "Hello"를 찾아서 "Test"로 바꿔준다.
sb.Remove(0, 4);
Remove는 0번째 위치부터 3번째 위치까지 삭제해주는 함수다.
문자열의 숫자를 추출하고 싶을 경우.
int num = 0;
string str2 = "123";
num = int.Parse(str2);
float.Parse(str2);
double.Parse(str2);
float도 되고 다른 자료형도 된다.
만약에 str2에 문자가 있다면 에러가 나게 된다.
그걸 방지하기 위해서
TryParse를 쓰는데 사용법은 아래와 같다.
bool isNum = int.TryParse(str2, out int num2);
TryParse는 bool형태를 반환하기 때문에
true / false가 나온다.
뒤에 out int num2 라고 쓰여져 있는데 num2에는 숫자로 바꾸는데에 성공했다면 num2에 int값이 들어간다는 의미다.