<상수>
언제든지 값이 바뀔 수 있는 변수와는 달리 상수와 열거형식은 안의 값이 절대 바뀔 수 없다
물론 변수를 선언하고 건들지 않아도 되지만 한 프로젝트에 수백, 수천개의 변수가 들어가는것을 생각한다면
이 둘은 꼭 필요한 기능이기도 하다
const int a = 3;
const float = 3.14;
상수를 선언하는 방법은 간단하다. 앞에 const 키워드만 붙여주면 된다
물론 선언과 함께 특정값으로 초기화해주어야 한다
그리고 당연하게도 값을 바꾸려는 순간 에러가 나게 된다
const int a = 3;
a = 5; // 에러!
<열거 형식>
여러개의 상수를 정리해주는 기능으로
const int yes = 1;
const int no = 2;
const int cancel = 3;
const int ok = 4;
이렇게 상수를 사용한다고 하면 굉장히 번거러움 + 변수 하나라도 잘못 써서 겹치는 순간
대참사가 일어날수도 있다. 그래서 생긴 기능이 바로 열거형식이다.
일종의 상수 버전 배열이라고 생각해도 될 것 같다. const 대신 enum이라는 키워드를 이용한다
enum Result {yes, no, cancel, ok}
이런 식으로 상수들을 열거하는것이다
응용해서 이런것도 가능하다.
<Nullable 형식>
int 타입으로 변수를 선언하면 값을 초기화하지 않아도 무조건 4바이트를 할당해주는데
프로그래밍을 하다보면 가끔 어떤값도 가지지 않는 변수가 필요할때가 있다
그럴땐 변수에게 할당된 메모리 공간을 비워둘 수 있도록 Nullable 형식을 사용하면 된다
int? a = null;
int b;
첫번째 줄이 null값 넣어주는 방식이다. 그럼 두번째 줄 처럼 선언만 하고 값을 안넣어주면 되는거 아니냐?
할수 있지만 변수 b에는 사실 값이 들어간다
HasValue는 이 변수가 값이 있는지 없는지에 대한 유무를 확인할 수 있고
Value는 그 값을 직접 출력해준다
위 사진을 보면 null값일땐 Hasvalue가 False지만 값을 할당해주는 순간 True가 되는것을 확인할 수 있다
<var>
C#은 강력한 형식 검사를 지원하지만 var 키워드를 통해 약한 형식 검사를 하여 편리함도 지원한다
모든 변수에 int, float, long, uint등 일일이 직접 써넣어줄 필요없이 var 키워드 하나면 자동으로 형식을 지원해준다
물론 var키워드를 사용하려면 무조건 변수의 선언과 함께 값을 넣어줘야한다
var a = 3;
var b = "안녕하세요";
var 키워드는 지역변수에서만 사용될 수 있다. 참고로 변수는 지역변수와 전역변수로 나뉘는데
지역변수 : 코드 블록 안에서 선언되는 변수. 즉 코드블록에서만 사용되고 코드블록이 종료될때 소멸된다
전역변수 : 프로그램의 어느 코드에서나 접근해서 사용할 수 있다. C#에서는 불가능. 하지만 Static이나 싱글턴으로는 가능
<문자열>
사실 개인적으로 지금 문자열에 대해서 열심히 공부해야할 필요가 있을까 싶지만 당연히 언젠간 필요한 부분이라고 생각한다. 그러니 한번 가볍게 짚고 넘어간뒤 나중에 필요하다면 그때 찾아보도록 하자
1. 문자열 찾기
IndexOf() : 현재 문자열 내에서 찾고자 하는 지정된 문자/문자열의 위치 찾기
LastIndexOf() : " 뒤에서부터 찾기
StartsWith() : 현재 문자열이 지정된 문자열로 시작하는지 평가
EndsWith () : " 끝나는지 평가
Contains () : 현재 문자열이 지정된 문자열을 포함하는지 평가
Replace () : 현재 문자열에서 지정된 문자열이 다른 지정된 문자열로 모두 바뀐 새 문자열 반환
2. 문자열 변형
ToLower() : 모든 대문자를 소문자로 바꿈
ToUpper() : 대문자로 바꿈
Insert() : 지정된 위치에 지정된 문자열 삽입
Remove() : 지정된 위치로부터 지정된 수만큼 문자를 삭제
Trim() : 앞뒤에 있는 공백 삭제
TrimStart() : 앞공백 삭제
TrimEnd() : 뒷공백 삭제
3. 문자열 분할
Split() : 지정된 문자를 기준으로 현재 문자열을 분리한 다음 분리한 문자열의 배열 반환
SubString() : 현재 문자열의 지정된 위치로부터 지정된 수만큼의 문자로 이루어진 새 문자열 반환
4. 문자열 서식 맞추기
문자열 서식을 위해서는 Format() 메서드를 사용할 것이다. 사실 우린 이미 Format 메서드를 사용중이다
Console.WriteLine("{0}DEF", "ABC");
=> ABCDEF
여기까진 많이 본것. 중괄호안에 일련번호를 넣고 그 안에 들어갈 내용을 뒤에 적는 형식인데 이걸 조금 변형하여
Console.WriteLine("{0,-10}DEF", "ABC");
=> ABC DEF
의 결과가 나오는것을 확인할 수 있다
Console.WriteLine("{0,10}DEF", "ABC");
=> ABCDEF
반대의 경우는 이렇다. 쉽게 말해 일련번호 뒤에 오는것은 뒤나 앞으로 들어갈 보간을 의미한다
그럼 이것을 이용하여 미리 포멧을 짜놓는게 가능하다
string fmt = "{0,-20}{1,-15}{2,30}";
미리 포멧을 짜두고 WriteLine에서 fmt를 가장 먼저 써넣은뒤 그안에 들어갈 요소들을 적어주면
이런 결과를 확인할 수 있다. 이건 확실히 유용할 것 같은 기능이다
'C# > 1. 데이터 보관과 가공 & 코드의 흐름제어' 카테고리의 다른 글
연산자(증가/감소연산자, 조건연산자), 반복문, 점프문 (3) | 2025.03.12 |
---|---|
CLR, 변수, 스택과 힙, 데이터 형식, 박싱&언박싱, 형식 변환 (1) | 2025.03.04 |
객체지향 프로그래밍, .NET, (2) | 2025.03.03 |