C#

22.11.23 C# 일지_3

함형우 2022. 11. 23. 11:58
728x90

// C# StringBuilder

            StringBuilder num = new StringBuilder();

StringBuilder 객체 생성과 초기화 방식은 일반객체와 같다. 기본적으로 문자 공간을 동적으로 확장하기 때문에, 초기 용량을 설정하고 싶을 경우는 StringBuilder 클래스의 오버로드 생성자에서 사이즈를 설정할 수 있다. StringBuilder 클래스를 사용할 경우 다음과 같은 메서드들을 활용할 수 있다.

 

 

Append() : 문자열을 StringBuilder 객체의 끝에 추가한다.

Insert() : 문자열을 지정된 인덱스에 삽입한다.

Remove() : 지정된 인덱스에서 지징된 길이만큼 문자열을 삭제한다.

Replace() : 지정된 문자열을 특정 문자열로 변경한다.

 

class Program
{
    static void Main(string[] args)
    {
        StringBuilder strBuilder = new StringBuilder("Init StringBuilder ");
		// Append 예제
        Console.WriteLine("Append() 호출 전: " + strBuilder);

        strBuilder.Append("Value1");
        strBuilder.AppendLine("Value2");
        strBuilder.AppendLine("Value3");

        Console.WriteLine("Append() 호출 후: " + strBuilder);
    }
}

class Program
{
    static void Main(string[] args)
    {
        StringBuilder strBuilder = new StringBuilder("StringBuilder");
		//Insert 예제
        Console.WriteLine("Insert() 호출 전: " + strBuilder);

        strBuilder.Insert(0, "Init ");
        strBuilder.Insert(strBuilder.Length, " Value");

        Console.WriteLine("Insert() 호출 후: " + strBuilder);
    }
}
class Program
{
    static void Main(string[] args)
    { 
        StringBuilder strBuilder = new StringBuilder("Init StringBuilder ");
		//Remove() 예제
        Console.WriteLine("Remove() 호출 전: " + strBuilder);

        strBuilder.Remove(4, 15);

        Console.WriteLine("Remove() 호출 후: " + strBuilder);
    }
}
class Program
{
    static void Main(string[] args)
    {
        StringBuilder strBuilder = new StringBuilder("StringBuilder");
		//Replace 예제
        Console.WriteLine("Replace() 호출 전: " + strBuilder);

        strBuilder.Replace("Builder", "");

        Console.WriteLine("Replace() 호출 후: " + strBuilder);
    }
}

// C# Array

// 해당조건을 만족하는 번호 반환, 없으면 -1
System.Array.FindIndex(배열, x => x.name == "A");

// 해당조건을 만족하는 첫번째 값 반환
System.Array.Find(배열, x => x.name == "A");

// 해당조건을 만족하는 모든 값 리스트로 반환
System.Array.FindAll(배열, x => x.name == "A");

// 중복만 추출
var redundantArray = System.Array.FindAll(배열, x => List.Contains(x));

// RemoveAll 용도
System.Array.FindAll(배열, x => x.name != "A");

// 해당조건을 만족하는 요소가 한 개라도 존재하는지 검사
System.Array.Exists(배열, x => x.name = "A");

// 내용물에 전부 1 더해 반환
int[] 배열 = System.Array.ConvertAll(배열, x => x+1);

// 0으로 초기화
int[] 배열 = System.Array.ConvertAll(배열, x => 0);

// true 검사
System.Array.Find(배열, x => x == true);

// true 검사2
System.Array.TrueForAll(배열, x => x.isOn == false);

// 포함 여부 검사
if (System.Array.TrueForAll(배열, x => List.Contains(x));

// C# List <T>

728x90