1. String
- 내부적으로 처리된 결과를 사용자 화면에 출력을 하거나 이기종간의 통신을 위한 XML의 기본 자료형이 되기도 함.
- .NET Framework 에서 string은 유니코드 기반 문자의 집합으로 영어권과 비영어권 문자의 구분 없이 2 byte.
- string은 한 번 생성된 객체는 read-only 이다.
아래의 예제에서 str1 은 다른 객체이다. 변수의 명이 같아도 내부적으로 새로운 객체를 생성해 값을 복사한다.
string str1 = "string";
str1 += " Hello!";
- 따라서 값을 반복적으로 자주 변경 할 경우 string 으로 처리하기 보다는 StringBuilder 를 사용할 것을 권고하고 있다.
2. String의 메소드와 프로퍼티
멤버 | 유형 | 설명 |
Length | 프로퍼티 | 현재 문자열의 문자 수를 가져온다. |
Format | 메소드 | 문자열은 지정된 서식으로 표현한다. |
Replace | 메소드 | 문자열 내용을 지정된 문자열로 변경한다. |
Split | 메소드 | 문자열의 특정 구부자를 기준으로 문자열 배열을 반환한다. |
Substring | 메소드 | 문자열 일부를 자른다. |
ToLower | 메소드 | 문자열 전체를 소문자로 변환한다. |
ToUpper | 메소드 | 문자열 전체를 대문자로 변환한다. |
Trim | 메소드 | 현재 문자열의 앞/뒤 공배 혹은 지정된 특정 문자를 제거한다. |
3. 문자열 포맷
- {위치 지시 번호, 문자열 정렬 지정} e.g : {05}
- {위치 지시 번호:문자열 포맷} e.g : {0:0000#}
* 만약 '{', '}' 를 출력 하려면 "{{", "}}" 와 같이 두 번을 작성하면 된다.
using System;
namespace SqlerCSharp.Ch08_02
{
class Program
{
static void Main(string[] args)
{
int number1 = 1;
int number2 = 123;
Console.WriteLine("number 1 : |{0,5}|, number2 : {1:0000#}",
number1, number2);
Console.WriteLine("number 1 : |{0, -5}|, number2 : {1:0000#}",
number1, number2);
int number3 = 12345;
Console.WriteLine("number 3 : {{ {0} }}", number3);
}
}
}

- 천 단위 컴마(,) 지정
> 마이너스 금액의 경우 -12,345 가 아닌 (12,345) 와 같은 표현 방법으로 사용하는 경우가 있다.
이럴 경우 포맷을 지정할 때 세미콜론(;) 으로 양수, 음수의 포맷을 같이 지정하는 방법이 있다.
using System;
namespace SqlerCSharp.Ch08_02
{
class Program
{
static void Main(string[] args)
{
int number1 = 12345;
int number2 = -12345;
Console.WriteLine("number 1 : {0:#,#;(#,#)}", number1);
Console.WriteLine("number 2 : {0}", number2.ToString("#,#;(#,#)"));
}
}
}

- 특정 길이까지 남는 앞 부분을 0 으로 채우기
> 포맷을 지정할 경우 자릿수만큼 0 을 입력해 주면 된다.
> '#' 은 10 진수 자리를 나타낸다.
using System;
namespace SqlerCSharp.Ch08_02
{
class Program
{
static void Main(string[] args)
{
int number1 = 1;
int number2 = 123;
int number3 = 1234;
Console.WriteLine("number1 : {0:000##}", number1);
Console.WriteLine("number2 : {0:0000#}", number2);
Console.WriteLine("number3 : {0}", number3.ToString("00000"));
}
}
}

- 축약 문자열(@)
> 폴더 경로와 같은 '\'와 같은 특수 문자를 표현할 경우, '\\' 와 같이 두 개를 입력해야 한다.
> 축약 문자열을 표현하는 '@'를 사용하면 특수 문자가 아닌 입력 문자열 자체로 인식을 한다.
using System;
namespace SqlerCSharp
{
class Program
{
static void Main(string[] args)
{
string systemFolder1 = "C:\\Windows\\System32";
string systemFolder2 = @"C:\Windows\System32";
Console.WriteLine("SystemFolder 1 : {0}", systemFolder1);
Console.WriteLine("SystemFolder 2 : {0}", systemFolder2);
}
}
}
'Language > C#' 카테고리의 다른 글
[C#] 클래스 (0) | 2020.12.26 |
---|---|
[C#] 문자열 다루기 - StringBuilder (0) | 2020.12.23 |
[C#] 배열 정렬 (0) | 2020.12.23 |
[C#] 배열 복사 (0) | 2020.12.23 |
[C#] Jagged 배열 (0) | 2020.12.23 |