learn use c stringbuilder class
이 자습서에서는 C # StringBuilder 클래스 및 Append, Clear, Remove, Insert, Replace 및 Equals와 같은 메서드를 예제를 통해 자세히 설명합니다.
C #의 StringBuilder 클래스는 반복적 인 문자열 작업을 사용해야 할 때 문자열과 함께 작동합니다.
문자열은 변경할 수 없습니다. 즉 변경할 수 없습니다. 특정 문자열이 생성되면 변경할 수 없습니다. 문자열을 변경하거나 업데이트하면 메모리에 새 문자열 개체가 생성됩니다. 명백한 바와 같이,이 동작은 반복 작업이 동일한 문자열에서 수행되는 경우 성능을 저하시킵니다.
=> 여기에서 심층 C # 교육 자습서를 확인하십시오.
C #의 StringBuilder 클래스는이 문제를 해결하는 것을 목표로합니다. 메모리를 동적으로 할당 할 수 있습니다. 즉, 문자열의 문자 수를 확장 할 수 있습니다. 새 메모리 개체를 만드는 것이 아니라 동적으로 메모리 크기를 늘려 새 문자를 포함합니다.
학습 내용 :
C # StringBuilder를 초기화하는 방법?
StringBuilder는 다른 클래스와 유사하게 초기화됩니다. StringBuilder 클래스는 System 네임 스페이스에 있습니다. 인스턴스화를 위해 텍스트를 클래스로 가져와야합니다.
초기화 예 :
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
안녕하세요
C # StringBuilder 메서드
StringBuilder 클래스는 또한 문자열 조작 작업을위한 여러 가지 방법을 제공합니다.
# 1) 추가 방법
이름에서 알 수 있듯이 현재 문자열 작성기 끝에 문자 또는 문자열 집합을 추가합니다. 동일한 문자열에서 여러 문자열 연결을 수행해야하는 경우 성능을 향상시키는 데 매우 유용합니다.
예:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
안녕하세요
Hello World
스크럼 팀이 제공하는 비즈니스 가치에 대한 책임은 누구에게 있습니까?
위의 프로그램에서 우리는 먼저 stringBuilder를 통해 정의 된 문자열을 가졌습니다. 그런 다음 Append ()를 사용하여 다른 문자열을 이전 문자열과 연결했습니다. 추가하기 전에 코드 줄을 실행하면 'Hello'로 출력되지만 추가하고 결과를 인쇄하면 'Hello World'즉, 추가 된 문자열이있는 이전 문자열이 인쇄됩니다.
# 2) 클리어 방법
이 메서드는 현재 StringBuilder에서 모든 문자를 제거합니다. 빈 문자열을 가져와야하거나 문자열 변수에서 데이터를 지워야하는 시나리오에서 매우 유용합니다.
예:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
안녕하세요
Hello World
StringBuilder에서 지우기 작업을 수행 한 다음 결과 문자열을 인쇄하려고 할 때. 검은 색 문자열 값을 얻습니다. 위의 프로그램에서 값을 StringBuilder에 추가하고 값을 콘솔에 인쇄했습니다.
그런 다음 인쇄를 시도 할 때 빈 값을 인쇄 한 후 StringBuilder에서 모든 값을 제거하는 지우기 작업을 수행했습니다.
# 3) 제거 방법
제거는 투명과 비슷하지만 약간의 차이가 있습니다. 또한 StringBuilder에서 문자를 제거하지만 StringBuilder에있는 모든 문자를 제거하는 clear와 달리 주어진 범위 내에서 제거합니다. Remove는 시나리오에서 프로그램이 전체 문자열 대신 문자열에서 특정 문자 집합을 제거하도록 요구할 때마다 사용됩니다.
예:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
안녕하세요
Hello World
그는 세계
Remove는 두 개의 매개 변수를 허용하며 첫 번째 매개 변수는 시작 색인, 즉 제거를 시작하려는 문자의 색인을 나타냅니다. 두 번째 매개 변수는 길이, 즉 제거하려는 문자의 길이를 나타내는 정수도 허용합니다.
위의 프로그램에서는 시작 인덱스를 2로, 길이를 3으로 제공했습니다. 그래서 색인 2에서 문자를 제거하기 시작했습니다. 즉 He'l'lo를 길이를 3으로 지정 했으므로 프로그램은‘l’에서 3 개 문자를 제거하여‘l l o’를 제거했습니다.
# 4) 삽입 방법
주어진 인덱스의 문자열 안에 하나 이상의 문자를 삽입합니다. 또한 사용자가 StringBuilder에 문자열 또는 문자를 삽입해야하는 횟수를 지정할 수 있습니다. 특정 위치에서 주어진 문자열에 문자를 삽입해야하는 조건에서 사용됩니다.
예:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
Hello World
He_insert_llo 세계
위의 프로그램에서 Insert 메서드는 특정 인덱스에 문자를 삽입하는 데 사용됩니다. 삽입 메소드는 두 개의 매개 변수를 허용합니다. 첫 번째 매개 변수는 문자가 삽입 될 색인을 나타내는 정수입니다. 두 번째 매개 변수는 사용자가 주어진 색인에 삽입하려는 문자를 허용합니다.
# 5) 교체 방법
replace 메서드는 StringBuilder에서 지정된 문자열의 모든 항목을 사용자가 제공 한 문자열 또는 문자로 바꿉니다. 특정 색인에서 특정 문자를 대체합니다. 일부 문자를 다른 문자로 대체해야하는 시나리오에서 사용할 수 있습니다.
예:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
Hello World
안녕 세계
위의 프로그램에서는 Replace 메서드를 사용하여“Hello”를“Hi”로 대체했습니다. replace 메소드는 두 개의 매개 변수를 허용합니다. 첫 번째 매개 변수는 바꾸려는 문자열 또는 문자이고 두 번째 매개 변수는 바꾸려는 문자열 또는 문자입니다.
# 6) Equals 방법
이름에서 알 수 있듯이 한 StringBuilder가 다른 StringBuilder와 동일한 지 여부를 확인합니다. StringBuilder를 매개 변수로 받아들이고 달성 된 같음 조건에 따라 부울 값을 반환합니다. 이 메서드는 두 개의 StringBuilder에 대한 동등 조건의 유효성을 검사하려는 경우 매우 유용합니다.
예:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
위 프로그램의 출력은 다음과 같습니다.
그릇된
진실
위의 프로그램에서 첫 번째와 세 번째 StringBuilder 객체는 동일합니다. 즉, 동일한 값을 갖습니다. 따라서 첫 번째와 두 번째를 동일시하면 거짓 값을 반환했지만 첫 번째와 세 번째를 동일시하면 true를 반환했습니다.
결론
C #의 StringBuilder 클래스는 문자열에 대한 여러 작업이 수행되는 성능을 향상시키는 데 사용됩니다.
불변이기 때문에 문자열이 수정 될 때마다 메모리에 또 다른 문자열 객체를 생성합니다. StringBuilder는이를 줄이는 것을 목표로합니다.
사용자가 동적 메모리를 할당하여 동일한 객체에 대한 수정을 수행 할 수 있습니다. 이는 더 많은 데이터를 수용하기 위해 필요한 경우 메모리 크기를 늘릴 수 있음을 의미합니다.