StringBuilder, 비교와 문화권 참고 사항
StringBuilder로 큰 텍스트를 효율적으로 만들고, StringComparison 및 문화권을 고려하는 API를 사용해 문자열을 안전하게 비교합니다.
StringBuilder, 비교와 문화권 참고 사항은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 3개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
개요
목표: 큰 문자열을 효율적으로 만들고 텍스트를 올바르게 비교합니다.
- 문자열을 여러 번 추가할 때 사용하는 StringBuilder
- 서수 비교와 문화권 비교
- 대소 문자를 구분하지 않는 검사
StringBuilder 기본
반복문에서 문자열을 연결할 때는 할당을 줄이기 위해 StringBuilder를 사용합니다.
using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
// Build a small CSV with many appends
StringBuilder sb = new StringBuilder();
sb.Append("id,name").AppendLine();
for (int i = 1; i <= 3; i = i + 1)
{
sb.Append(i).Append(",Item ").Append(i).AppendLine();
}
string csv = sb.ToString();
Console.WriteLine(csv);
}
}
빌더와 + 비교
지침:
- 몇 개의 조각만 연결할 때는 "a" + b + c를 사용합니다.
- 반복문이나 문자열을 여러 번 추가할 때는 StringBuilder를 사용합니다.
- 반복문 안에서는 같은 빌더 인스턴스를 재사용합니다.
대소 문자를 구분하지 않는 검사
식별자(예: 파일 이름, 키)에는 문화권에 따른 예기치 않은 결과를 피하기 위해 OrdinalIgnoreCase를 우선 사용합니다.
using System;
public class Program
{
public static void Main(string[] args)
{
string a = "file";
string b = "FILE";
bool ordEq = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
bool ord = string.Equals(a, b, StringComparison.Ordinal);
Console.WriteLine("OrdinalIgnoreCase: " + ordEq); // true
Console.WriteLine("Ordinal (case-sensitive): " + ord); // false
}
}
문화권 예제
문화권은 결과에 영향을 줍니다(예: 터키어 I). 명시적으로 선택하십시오. 데이터와 식별자에는 InvariantCulture를 사용하고, 사용자 인터페이스에는 사용자의 문화권을 사용합니다.
using System;
using System.Globalization;
public class Program
{
public static void Main(string[] args)
{
string lowerI = "i";
// Culture-sensitive uppercasing
string trUpper = lowerI.ToUpper(new CultureInfo("tr-TR"));
string invUpper = lowerI.ToUpper(CultureInfo.InvariantCulture);
Console.WriteLine("tr-TR upper(i) = " + trUpper); // "İ"
Console.WriteLine("Invariant upper(i) = " + invUpper); // "I"
}
}
팁과 선택 기준
팁:
- 반복문 안에서 StringBuilder를 캐시하고, 마지막에 .ToString()을 한 번 호출합니다.
- 키, ID, 파일 이름에는 OrdinalIgnoreCase를 선택합니다.
- 사용자에게 표시되는 텍스트에는 CurrentCulture를 선택합니다.
비교 기본값
복습
복습: 문자열을 여러 번 추가할 때는 StringBuilder를 사용하고, 식별자에는 OrdinalIgnoreCase를 선택하며, 사용자 인터페이스 텍스트에는 문화권을 고려하는 API를 사용합니다.
자주 묻는 질문
“StringBuilder, 비교와 문화권 참고 사항” 강의는 무료인가요?
네 — “StringBuilder, 비교와 문화권 참고 사항” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
“StringBuilder, 비교와 문화권 참고 사항”에서 뭘 배우나요?
StringBuilder로 큰 텍스트를 효율적으로 만들고, StringComparison 및 문화권을 고려하는 API를 사용해 문자열을 안전하게 비교합니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C# Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 2번째 강의입니다.
“StringBuilder, 비교와 문화권 참고 사항” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 문자열과 텍스트: 불변성, 보간, 축자 문자열, StringBuilder, 비교
- StringBuilder, 비교와 문화권 참고 사항
- char, 유니코드 기초, 간단한 구문 분석과 서식 지정