수업을 들으며 노트에 정리한 것 (3)

공재원
∙∙조회 6

2차원 배열

  • int[,] < ,개수가 차원을 정한다.
  • 실무에서 3차원 이상을 쓰는 경우는 드물다.
plaintext
int[2, 3]
          [,0]     [,1]     [,2]
        ┌────┬────┬────┐
  [0,]  │   1    │   2    │   3    │
        ├─────────┼────┤
  [1,]  │   4    │   5    │    6   │
        └────┴────┴────┘

가변 배열

  • 행마다 길이가 다른 배열
  • 배열은 참조로 다뤄진다.

문자열 다루기

표기이름이스케이프 해석값 삽입
"..."일반 문자열OX
@"..."축자 문자열XX
$"..."보간 문자열OO
$@"..."축자 + 보간XO

축자 문자열 (@)

  • \"는 해석하지 않는다.
  • "를 표현하고 싶다면 ""를 두번 적어 표현

보간 문자열 ($)

  • 중괄호 안에 식을 사용 할 수 있다.
  • 조건 연사자도 넣을 수 있다. 다만 콜론이 서식 지정 기호와 겹치므로 괄호로 감싸야한다.
  • 중괄호 자체를 출력하려면 중괄호 문자 자체를 두 번 연속 적는다. {{ }}

축자와 보간 함께 쓰기

  • 이스케이프를 해석하지 않으면서 값도 끼워 넣는다.

이스케이프 시퀀스

시퀀스뜻쓰는 자리
\n줄바꿈한 문자열 안에서 줄을 나눌 때
\t탭칸을 맞춰 늘어놓을 때
\\백슬래시 자체파일 경로, 정규 표현식
\"큰따옴표 자체문자열 안의 인용
\'작은따옴표 자체char 리터럴에서
\r캐리지 리턴줄의 맨 앞으로 되돌림
\0널 문자값이 0인 문자이며 빈 문자열과 다름
\a경고음콘솔에서 소리를 냄
\b백스페이스한 칸 되돌림
\uXXXX유니코드 문자16진수 네 자리로 문자를 지정

자리 폭 맞추기

표기뜻
{값,10}폭 10, 오른쪽 정렬 (앞에 공백)
{값,-10}폭 10, 왼쪽 정렬 (뒤에 공백)
{값}값의 길이만큼만
  • 값이 폭보다 짧으면 공백이 채워지고, 값이 폭보다 길면 무시하고 다 나온다.

⚠️ 주의: 폭은 글자 수로 셈. 한글은 콘솔에서 두 칸을 차지하지만 글자 수로는 1이므로, 한글과 영문을 같은 열에 섞으면 화면에서는 열이 어긋나 보임.

구분선 만들기

  • new string(문자, 개수)
example
using System;

Console.WriteLine(new string('=', 30));
Console.WriteLine($"{"결과",-10}{"값",10}");
Console.WriteLine(new string('-', 30));
Console.WriteLine($"{"합계",-10}{432,10}");
Console.WriteLine($"{"평균",-10}{86.4,10}");
Console.WriteLine(new string('=', 30));
plantext
==============================
결과                 값
------------------------------
합계               432
평균              86.4
==============================

string.Format

  • 서식 문자열
방식장점단점
이어 붙이기 +단순함값이 많으면 읽기 어려움. 서식·폭 지정을 못 함
자리 표시자 {0}서식 문자열을 재사용할 수 있음번호와 값의 순서를 사람이 맞춰야 함
보간 $""이름이 그 자리에 보임. 서식·폭 다 됨서식 문자열을 따로 떼어 재사용할 수 없음

노트에 적을 수 없는 표 같은 경우엔 강의 자료에서 가지고 오는데 사실 강의 자료만 보면서 공부를 해도 되지 않나 싶을 때가 있다. 하지만 직접 메모해보는 것과 보기만 하는 것에는 차이가 있다고 생각하기에 많지는 않더라도 꾸준히 메모해볼 생각이다. 최근 조건문, 반복문, 반복제어, 배열 등을 다루며 머리가 아팠지만 오랜만에 문자열을 보니 살짝 머리가 다시 돌아 온 듯 하다. 물론 오늘 배운 문자열이 쉽거나 하지는 않지만 뭔가 친근감이 느껴진다.