Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

25. String 클래스 본문

초보자를 위한 C# 200제/C# 입문

25. String 클래스

빌드이너프 2024. 9. 24. 21:55

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);
        }
    }
}

 

실행 결과