충분히 쌓여가는
25. String 클래스 본문
string
문자열 string은 프로그램에서 가장 많이 쓰는 자료형이다.
문자열은 "를 사용하고, 단일 문자(char)은 '를 사용한다.
문자열을 사용할 때 대문자 String이나 소문자 string의 어떤 것을 사용해도 된다.
C# string은 불변(Immutable)이다. 즉 한 번 문자열이 설정되면 다시 변경할 수 없다.
string은 문자 배열처럼 인덱스로 String의 특정 위치에 있는 문자를 가져올 수 있다.
하지만 값을 가져올 수만 있고 설정할 수는 없다.
int i = s.Lenght는 가능하지만, s.Length = 5는 쓸 수 없다.
String 클래스의 필드 중 Empty가 있다.
이 필드는 static readonly이고 값은 길이가 0인 문자열, 즉 빈 문자열이다.
String 클래스의 메소드
정적 메소드는 객체에 사용되는 멤버 메소드와 달리 클래스 자체에 적용되는 메소드이다.
String 클래스의 정적 메소드들은 String.Format()과 같이 클래스 이름인 String 뒤에 .연산자와 함께 사용한다.
String 클래스의 정적 메소드
코드
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A025_StringMethods
{
class Program
{
static void Main(string[] args)
{
string s = " Hello, World! ";
string t;
Console.WriteLine(s.Length);
Console.WriteLine(s[8]);
Console.WriteLine(s.Insert(8, "C# "));
Console.WriteLine(s.PadLeft(20, ','));
Console.WriteLine(s.PadRight(20, ','));
Console.WriteLine(s.Remove(6));
Console.WriteLine(s.Remove(6, 7));
Console.WriteLine(s.Replace('l', 'm'));
Console.WriteLine(s.ToLower());
Console.WriteLine(s.ToUpper());
Console.WriteLine('/' + s.Trim() + '/');
Console.WriteLine('/' + s.TrimStart() + '/');
Console.WriteLine('/' + s.TrimEnd() + '/');
Console.WriteLine();
string[] a = s.Split(',');
foreach (var i in a)
Console.WriteLine('/' + i + '/');
char[] destination = new char[10];
s.CopyTo(8, destination, 0, 6);
Console.WriteLine(destination);
Console.WriteLine();
Console.WriteLine('/' + s.Substring(8) + '/');
Console.WriteLine('/' + s.Substring(8, 5) + '/');
Console.WriteLine(s.Contains("ll"));
Console.WriteLine(s.IndexOf('o'));
Console.WriteLine(s.LastIndexOf('o'));
Console.WriteLine(s.CompareTo("abc"));
Console.WriteLine(String.Concat("Hi~", s));
Console.WriteLine(String.Compare("abc", s));
Console.WriteLine(t = String.Copy(s));
String[] val = { "apple", "orange", "grape", "pear" };
String result = String.Join(". ", val);
Console.WriteLine(result);
}
}
}
실행 결과
'초보자를 위한 C# 200제 > C# 입문' 카테고리의 다른 글
27. 문자열을 연결하는 네 가지 방법 (1) | 2024.09.25 |
---|---|
26. String.Split() 메소드를 사용한 문자열 구문 분석 (0) | 2024.09.25 |
24. 증가연산자, 감소연산자, 대입연산자의 압축 (0) | 2024.09.23 |
21. 논리연산자 (1) | 2024.09.22 |
19. OverflowException과 checked 키워드 (0) | 2024.09.22 |