영업: 1-800-867-1380
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

String 클래스

텍스트를 일련의 유니코드 문자로 나타냅니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable, 
	ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, 
	IEnumerable, IEquatable<string>

String 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원String(Char*)유니코드 문자 배열에 대한 지정된 포인터가 가리키는 값으로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원String(Char[])유니코드 문자 배열에서 나타내는 값으로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원String(SByte*)8비트 부호 있는 정수 배열에 대한 포인터가 나타내는 값으로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원String(Char, Int32)지정한 횟수만큼 반복되는 지정된 유니코드 문자가 나타내는 값으로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원String(Char*, Int32, Int32)유니코드 문자 배열에 대한 지정된 포인터가 나타내는 값, 해당 배열 내의 시작 문자 위치 및 길이로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원String(Char[], Int32, Int32)유니코드 문자 배열에서 나타내는 값, 해당 배열 내의 시작 문자 위치 및 길이로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드String(SByte*, Int32, Int32)8비트 부호 있는 정수 배열에 대한 지정된 포인터가 나타내는 값, 해당 배열 내의 시작 위치 및 길이로 String 클래스의 새 인스턴스를 초기화합니다.
Public 메서드String(SByte*, Int32, Int32, Encoding)8비트 부호 있는 정수 배열에 대한 지정된 포인터가 나타내는 값, 해당 배열 내의 시작 문자 위치, 길이 및 Encoding 개체로 String 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Chars현재 String 개체에서 지정된 문자 위치에 있는 Char 개체를 가져옵니다.
Public 속성XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Length현재 String 개체의 문자 수를 가져옵니다.
위쪽

  이름설명
Public 메서드XNA Framework에서 지원CloneString의 이 인스턴스에 대한 참조를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Compare(String, String)지정된 두 String 개체를 비교하고 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Compare(String, String, Boolean)대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체를 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Compare(String, String, StringComparison)지정된 규칙을 사용하여 지정된 두 String 개체를 비교하고 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Compare(String, String, Boolean, CultureInfo)대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체를 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다. 문화권별 정보가 비교에 영향을 줍니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Compare(String, String, CultureInfo, CompareOptions)지정된 두 String 개체를 비교하고 정렬 순서에서 두 문자열 간의 관계를 나타내는 정수를 반환합니다. 지정된 비교 옵션 및 문화권별 정보가 비교에 영향을 줍니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Compare(String, Int32, String, Int32, Int32)지정된 두 String 개체의 부분 문자열을 비교하고 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Compare(String, Int32, String, Int32, Int32, Boolean)대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체의 부분 문자열을 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Compare(String, Int32, String, Int32, Int32, StringComparison)지정된 규칙을 사용하여 지정된 두 String 개체의 부분 문자열을 비교하고 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Compare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체의 부분 문자열을 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다. 문화권별 정보가 비교에 영향을 줍니다.
Public 메서드정적 멤버Compare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)지정된 두 String 개체의 부분 문자열을 비교하고 정렬 순서에서 두 부분 문자열 간의 관계를 나타내는 정수를 반환합니다. 지정된 비교 옵션 및 문화권별 정보가 비교에 영향을 줍니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareOrdinal(String, String)각 문자열에서 해당하는 Char 개체의 숫자 값을 계산해서 두 지정된 String 개체를 비교합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareOrdinal(String, Int32, String, Int32, Int32)각 부분 문자열에서 해당하는 Char 개체의 숫자 값을 계산하여 지정된 두 String 개체의 부분 문자열을 비교합니다.
Public 메서드XNA Framework에서 지원CompareTo(Object)이 인스턴스를 지정된 Object와 비교하고 정렬 순서에서 이 인스턴스의 위치가 지정된 Object보다 앞인지, 뒤인지 또는 동일한지를 나타냅니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(String)이 인스턴스를 지정된 String 개체와 비교하고 정렬 순서에서 이 인스턴스의 위치가 지정된 String보다 앞인지, 뒤인지 또는 동일한지를 나타냅니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(Object)지정된 개체의 문자열 표현을 만듭니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(Object[])지정된 Object 배열에 있는 요소의 문자열 표현을 연결합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(IEnumerable<String>) String 형식의 생성된 IEnumerable<T> 컬렉션의 멤버를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(String[])지정된 String 배열의 요소를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(Object, Object)지정된 두 개체의 문자열 표현을 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(String, String) String 의 지정된 두 인스턴스를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(Object, Object, Object)지정된 세 개체의 문자열 표현을 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(String, String, String) String 의 지정된 세 인스턴스를 연결합니다.
Public 메서드정적 멤버Concat(Object, Object, Object, Object)지정된 네 개체의 문자열 표현과 선택적 변수 길이 매개 변수 목록에 지정된 개체를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat(String, String, String, String) String 의 지정된 네 인스턴스를 연결합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Concat<T>(IEnumerable<T>) IEnumerable<T> 구현의 멤버를 연결합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Contains이 문자열 내에서 지정한 하위 문자열이 발생하는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Copy지정된 String과 동일한 값을 갖는 String의 새 인스턴스를 만듭니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CopyTo이 인스턴스의 지정한 위치에 있는 지정한 수의 문자를 유니코드 문자 배열의 특정 위치에 복사합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원EndsWith(String)이 문자열 인스턴스의 끝 부분과 지정한 문자열이 일치하는지 여부를 확인합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원EndsWith(String, StringComparison)지정한 비교 옵션을 사용하여 비교할 때 지정한 문자열과 이 문자열 인스턴스의 끝 부분이 일치하는지 여부를 확인합니다.
Public 메서드EndsWith(String, Boolean, CultureInfo)지정한 문화권을 사용하여 비교할 때 이 문자열 인스턴스의 끝 부분과 지정한 문자열이 일치하는지 여부를 확인합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Object)이 인스턴스와 지정한 개체의 값이 같은지 여부를 확인합니다. 이 개체도 String 개체여야 합니다. (Object.Equals(Object)을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(String)이 인스턴스와 지정한 다른 String 개체의 값이 같은지 여부를 확인합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(String, String)지정된 두 String 개체의 값이 같은지 여부를 확인합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(String, StringComparison)이 문자열과 지정한 String 개체의 값이 같은지 여부를 확인합니다. 매개 변수는 비교에 사용되는 문화권, 대/소문자 및 정렬 규칙을 지정합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(String, String, StringComparison)지정된 두 String 개체의 값이 같은지 여부를 확인합니다. 매개 변수는 비교에 사용되는 문화권, 대/소문자 및 정렬 규칙을 지정합니다.
Public 메서드정적 멤버XNA Framework에서 지원Format(String, Object)지정된 문자열에 있는 하나 이상의 형식 항목을 지정된 개체의 문자열 표현으로 바꿉니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Format(String, Object[])지정된 문자열의 형식 항목을 지정된 배열에 있는 해당 개체의 문자열 표현으로 바꿉니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Format(IFormatProvider, String, Object[])지정된 문자열의 형식 항목을 지정된 배열에 있는 해당 개체의 문자열 표현으로 바꿉니다. 매개 변수에서 문화권별 형식 지정 정보를 제공합니다.
Public 메서드정적 멤버XNA Framework에서 지원Format(String, Object, Object)지정된 문자열에 있는 서식 지정 항목을 지정된 두 개체의 문자열 표현으로 바꿉니다.
Public 메서드정적 멤버XNA Framework에서 지원Format(String, Object, Object, Object)지정된 문자열의 형식 항목을 지정된 세 개체의 문자열 표현으로 바꿉니다.
Public 메서드XNA Framework에서 지원GetEnumerator이 문자열의 개별 문자에서 반복될 수 있는 개체를 검색합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetHashCode해당 문자열에 대한 해시 코드를 반환합니다. (Object.GetHashCode()을(를) 재정의함)
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드XNA Framework에서 지원GetTypeCode String 클래스에 대한 TypeCode를 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(Char)이 문자열에서 맨 처음 발견되는 지정된 유니코드 문자의 인덱스(0부터 시작)를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String)이 인스턴스에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(Char, Int32)이 문자열에서 맨 처음 발견되는 지정된 유니코드 문자의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String, Int32)이 인스턴스에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String, StringComparison)현재 String 개체에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 매개 변수는 지정된 문자열에 사용할 검색 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(Char, Int32, Int32)이 인스턴스에서 맨 처음 발견되는 지정된 문자의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작하여 지정된 수의 문자 위치를 검사합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String, Int32, Int32)이 인스턴스에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작하여 지정된 수의 문자 위치를 검사합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String, Int32, StringComparison)현재 String 개체에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 매개 변수는 현재 문자열의 검색 시작 위치와 지정된 문자열에 사용할 검색 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOf(String, Int32, Int32, StringComparison)현재 String 개체에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 매개 변수는 현재 문자열의 검색 시작 위치, 검색할 현재 문자열의 문자 수 및 지정된 문자열에 사용할 검색 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOfAny(Char[])지정된 유니코드 문자 배열에 있는 문자 중에 이 인스턴스에서 맨 처음 발견되는 문자의 인덱스(0부터 시작)를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOfAny(Char[], Int32)지정된 유니코드 문자 배열에 있는 문자 중에 이 인스턴스에서 맨 처음 발견되는 문자의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IndexOfAny(Char[], Int32, Int32)지정된 유니코드 문자 배열에 있는 문자 중에 이 인스턴스에서 맨 처음 발견되는 문자의 인덱스(0부터 시작)를 보고합니다. 검색은 지정된 문자 위치에서 시작하여 지정된 수의 문자 위치를 검사합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Insert이 인스턴스의 지정된 인덱스 위치에 지정한 문자열이 삽입되는 새 문자열을 반환합니다.
Public 메서드정적 멤버XNA Framework에서 지원Intern지정된 String에 대한 시스템의 참조를 검색합니다.
Public 메서드정적 멤버XNA Framework에서 지원IsInterned지정된 String에 대한 참조를 검색합니다.
Public 메서드IsNormalized()이 문자열의 형식이 유니코드 정규화 형식 C인지 여부를 나타냅니다.
Public 메서드IsNormalized(NormalizationForm)이 문자열의 형식이 지정한 유니코드 정규화 형식인지 여부를 나타냅니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsNullOrEmpty지정된 문자열이 null이거나 Empty 문자열인지 여부를 나타냅니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsNullOrWhiteSpace지정된 문자열이 null이거나 비어 있거나 공백 문자로만 구성되어 있는지 여부를 나타냅니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Join(String, IEnumerable<String>)각 멤버 사이에 지정된 구분 기호를 사용하여 String 형식의 생성된 IEnumerable<T> 컬렉션의 멤버를 연결합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Join(String, Object[])각 요소 사이에 지정된 구분 기호를 사용하여 개체 배열의 요소를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Join(String, String[])각 요소 사이에 지정된 구분 기호를 사용하여 문자열 배열의 모든 요소를 연결합니다.
Public 메서드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Join(String, String[], Int32, Int32)각 요소 사이에 지정된 구분 기호를 사용하여 문자열 배열의 지정된 요소를 연결합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Join<T>(String, IEnumerable<T>)각 멤버 사이에 지정된 구분 기호를 사용하여 컬렉션의 멤버를 연결합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(Char)이 인스턴스에서 마지막으로 발견되는 지정된 유니코드 문자의 인덱스(0부터 시작) 위치를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String)이 인스턴스에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작) 위치를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(Char, Int32)이 인스턴스에서 마지막으로 발견되는 지정된 유니코드 문자의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 시작하고 문자열의 시작 부분을 향해 뒤로 검색이 진행됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String, Int32)이 인스턴스에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 시작하고 문자열의 시작 부분을 향해 뒤로 검색이 진행됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String, StringComparison)현재 String 개체에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 매개 변수는 지정된 문자열에 사용할 검색 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(Char, Int32, Int32)이 인스턴스의 부분 문자열에서 마지막으로 발견되는 지정된 유니코드 문자의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 검색을 시작하여 지정된 수의 문자 위치에 대한 문자열의 시작 부분 쪽으로 뒤로 검색합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String, Int32, Int32)이 인스턴스에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 검색을 시작하여 지정된 수의 문자 위치에 대한 문자열의 시작 부분 쪽으로 뒤로 검색합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String, Int32, StringComparison)현재 String 개체에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 지정된 문자 위치에서 시작하고 문자열의 시작 부분을 향해 뒤로 검색이 진행됩니다. 매개 변수는 지정된 문자열을 검색할 때 수행할 비교 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOf(String, Int32, Int32, StringComparison)이 인스턴스에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 검색을 시작하여 지정된 수의 문자 위치에 대한 문자열의 시작 부분 쪽으로 뒤로 검색합니다. 매개 변수는 지정된 문자열을 검색할 때 수행할 비교 유형을 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOfAny(Char[])유니코드 배열에서 지정된 하나 이상의 문자 중에 이 인스턴스에서 마지막으로 발견되는 문자의 인덱스(0부터 시작) 위치를 보고합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOfAny(Char[], Int32)유니코드 배열에서 지정된 하나 이상의 문자 중에 이 인스턴스에서 마지막으로 발견되는 문자의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 시작하고 문자열의 시작 부분을 향해 뒤로 검색이 진행됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LastIndexOfAny(Char[], Int32, Int32)유니코드 배열에서 지정된 하나 이상의 문자 중에 이 인스턴스에서 마지막으로 발견되는 문자의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 검색을 시작하여 지정된 수의 문자 위치에 대한 문자열의 시작 부분 쪽으로 뒤로 검색합니다.
Public 메서드Normalize()텍스트 값이 이 문자열과 같지만 이진 표현의 형식이 유니코드 정규화 형식 C인 새 문자열을 반환합니다.
Public 메서드Normalize(NormalizationForm)텍스트 값이 이 문자열과 같지만 이진 표현의 형식이 지정한 유니코드 정규화 형식인 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원PadLeft(Int32)지정한 길이만큼 왼쪽의 안쪽 여백을 공백으로 채워서 이 인스턴스의 문자를 오른쪽에 맞추는 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원PadLeft(Int32, Char)지정한 길이만큼 왼쪽의 안쪽 여백을 지정된 유니코드 문자로 채워서 이 인스턴스의 문자를 오른쪽에 맞추는 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원PadRight(Int32)지정한 길이만큼 오른쪽의 안쪽 여백을 공백으로 채워서 이 문자열의 문자를 왼쪽에 맞추는 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원PadRight(Int32, Char)지정한 길이만큼 오른쪽의 안쪽 여백을 지정된 유니코드 문자로 채워서 이 문자열의 문자를 왼쪽에 맞추는 새 문자열을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Remove(Int32)지정된 위치부터 마지막 위치 사이에 현재 인스턴스의 모든 문자가 삭제되었던 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Remove(Int32, Int32)현재 인스턴스의 지정된 위치에서 시작하여 지정된 수의 문자가 삭제되었던 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Replace(Char, Char)현재 인스턴스의 지정된 유니코드 문자가 지정된 다른 유니코드 문자로 모두 바뀌는 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Replace(String, String)현재 인스턴스의 지정된 문자열이 지정된 다른 문자열로 모두 바뀌는 새 문자열을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(Char[])지정된 유니코드 문자 배열의 요소로 구분된 이 인스턴스의 부분 문자열이 들어 있는 문자열 배열을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(Char[], Int32)지정된 유니코드 문자 배열의 요소로 구분된 이 인스턴스의 부분 문자열이 들어 있는 문자열 배열을 반환합니다. 매개 변수는 반환할 부분 문자열의 최대 수를 지정합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(Char[], StringSplitOptions)지정된 유니코드 문자 배열의 요소로 구분된 이 문자열의 부분 문자열이 들어 있는 문자열 배열을 반환합니다. 매개 변수는 빈 배열 요소를 반환할지 여부를 지정합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(String[], StringSplitOptions)지정된 문자열 배열의 요소로 구분된 이 문자열의 부분 문자열이 들어 있는 문자열 배열을 반환합니다. 매개 변수는 빈 배열 요소를 반환할지 여부를 지정합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(Char[], Int32, StringSplitOptions)지정된 유니코드 문자 배열의 요소로 구분된 이 문자열의 부분 문자열이 들어 있는 문자열 배열을 반환합니다. 매개 변수는 반환할 부분 문자열의 최대 수 및 빈 배열 요소를 반환할지 여부를 지정합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Split(String[], Int32, StringSplitOptions)지정된 문자열 배열의 요소로 구분된 이 문자열의 부분 문자열이 들어 있는 문자열 배열을 반환합니다. 매개 변수는 반환할 부분 문자열의 최대 수 및 빈 배열 요소를 반환할지 여부를 지정합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원StartsWith(String)이 문자열 인스턴스의 시작 부분과 지정한 문자열이 일치하는지 여부를 확인합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원StartsWith(String, StringComparison)지정한 비교 옵션을 사용하여 비교할 때 지정한 문자열과 이 문자열 인스턴스의 시작 부분이 일치하는지 여부를 확인합니다.
Public 메서드StartsWith(String, Boolean, CultureInfo)지정한 문화권을 사용하여 비교할 때 이 문자열 인스턴스의 시작 부분과 지정한 문자열이 일치하는지 여부를 확인합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Substring(Int32)이 인스턴스에서 부분 문자열을 검색합니다. 부분 문자열은 지정된 문자 위치에서 시작하고 문자열 끝까지 계속됩니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Substring(Int32, Int32)이 인스턴스에서 부분 문자열을 검색합니다. 부분 문자열은 지정된 문자 위치에서 시작하고 길이도 지정되어 있습니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToCharArray()이 인스턴스의 문자를 유니코드 문자 배열에 복사합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToCharArray(Int32, Int32)이 인스턴스의 지정된 부분 문자열에 있는 문자를 유니코드 문자 배열에 복사합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToLower()이 문자열의 복사본을 소문자로 변환하여 반환합니다.
Public 메서드XNA Framework에서 지원ToLower(CultureInfo)지정한 문화권의 대/소문자 규칙을 사용하여 소문자로 변환된 이 문자열의 복사본을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToLowerInvariant고정 문화권의 대/소문자 규칙을 사용하여 소문자로 변환된 이 String 개체의 복사본을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString() String 의 이 인스턴스를 반환하며, 이때 실제 변환은 수행되지 않습니다. (Object.ToString()을(를) 재정의함)
Public 메서드XNA Framework에서 지원ToString(IFormatProvider) String 의 이 인스턴스를 반환하며, 이때 실제 변환은 수행되지 않습니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToUpper()이 문자열의 복사본을 대문자로 변환하여 반환합니다.
Public 메서드XNA Framework에서 지원ToUpper(CultureInfo)지정한 문화권의 대/소문자 규칙을 사용하여 대문자로 변환된 이 문자열의 복사본을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToUpperInvariant고정 문화권의 대/소문자 규칙을 사용하여 대문자로 변환된 이 String 개체의 복사본을 반환합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Trim()현재 String 개체에서 선행 공백과 후행 공백을 모두 제거합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Trim(Char[])현재 String 개체에서 배열에 지정된 문자 집합의 선행 항목과 후행 항목을 모두 제거합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TrimEnd현재 String 개체에서 배열에 지정된 문자 집합의 후행 항목을 모두 제거합니다.
Public 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원TrimStart현재 String 개체에서 배열에 지정된 문자 집합의 선행 항목을 모두 제거합니다.
위쪽

  이름설명
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality지정된 두 문자열의 값이 같은지 여부를 확인합니다.
Public 연산자정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality지정된 두 문자열의 값이 다른지 여부를 확인합니다.
위쪽

  이름설명
Public 확장 메서드XNA Framework에서 지원Aggregate<Char>(Func<Char, Char, Char>)오버로드되었습니다. 시퀀스에 누적기 함수를 적용합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Aggregate<Char, TAccumulate>(TAccumulate, Func<TAccumulate, Char, TAccumulate>)오버로드되었습니다. 시퀀스에 누적기 함수를 적용합니다. 지정된 시드 값은 초기 누적기 값으로 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Aggregate<Char, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, Char, TAccumulate>, Func<TAccumulate, TResult>)오버로드되었습니다. 시퀀스에 누적기 함수를 적용합니다. 지정된 시드 값은 초기 누적기 값으로 사용되고 지정된 함수는 결과 값을 선택하는 데 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원All<Char>시퀀스의 모든 요소가 특정 조건에 맞는지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Any<Char>()오버로드되었습니다. 시퀀스에 요소가 하나라도 있는지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Any<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에 특정 조건에 맞는 요소가 있는지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원AsEnumerable<Char>입력을 IEnumerable<T>로 형식화하여 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원AsParallel()오버로드되었습니다. 쿼리를 병렬화할 수 있도록 합니다. (ParallelEnumerable에서 정의됨)
Public 확장 메서드AsParallel<Char>()오버로드되었습니다. 쿼리를 병렬화할 수 있도록 합니다. (ParallelEnumerable에서 정의됨)
Public 확장 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원AsQueryable()오버로드되었습니다. IEnumerable IQueryable로 변환합니다. (Queryable에서 정의됨)
Public 확장 메서드AsQueryable<Char>()오버로드되었습니다. 제네릭 IEnumerable<T>을 제네릭 IQueryable<T>로 변환합니다. (Queryable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Int32>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Int32 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Nullable<Int32>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int32 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Int64>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Int64 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Nullable<Int64>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int64 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Single>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Single 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Nullable<Single>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Single 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Double>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Double 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Nullable<Double>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Double 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Decimal>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Decimal 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Average<Char>(Func<Char, Nullable<Decimal>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Decimal 값 시퀀스의 평균을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Cast<TResult> IEnumerable 의 요소를 지정된 형식으로 캐스팅합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Concat<Char>두 시퀀스를 연결합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Contains<Char>(Char)오버로드되었습니다. 기본 같음 비교자를 사용하여 시퀀스에 지정된 요소가 들어 있는지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Contains<Char>(Char, IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>를 사용하여 시퀀스에 지정된 요소가 들어 있는지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Count<Char>()오버로드되었습니다. 시퀀스의 요소 수를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Count<Char>(Func<Char, Boolean>)오버로드되었습니다. 지정된 시퀀스에서 특정 조건에 맞는 요소 수를 나타내는 숫자를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원DefaultIfEmpty<Char>()오버로드되었습니다. 지정된 시퀀스의 요소를 반환하거나, 시퀀스가 비어 있으면 형식 매개 변수의 기본값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원DefaultIfEmpty<Char>(Char)오버로드되었습니다. 지정된 시퀀스의 요소를 반환하거나, 시퀀스가 비어 있으면 singleton 컬렉션의 지정된 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Distinct<Char>()오버로드되었습니다. 기본 같음 비교자로 값을 비교하여 시퀀스에서 고유 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Distinct<Char>(IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>로 값을 비교하여 시퀀스에서 고유 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ElementAt<Char>시퀀스에서 지정된 인덱스의 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ElementAtOrDefault<Char>시퀀스에서 지정된 인덱스의 요소를 반환하거나, 인덱스가 범위를 벗어나면 기본 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Except<Char>(IEnumerable<Char>)오버로드되었습니다. 기본 같음 비교자로 값을 비교하여 두 시퀀스의 차집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Except<Char>(IEnumerable<Char>, IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>로 값을 비교하여 두 시퀀스의 차집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원First<Char>()오버로드되었습니다. 시퀀스의 첫 번째 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원First<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 지정된 조건에 맞는 첫 번째 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원FirstOrDefault<Char>()오버로드되었습니다. 시퀀스의 첫 번째 요소를 반환하거나, 시퀀스에 요소가 없으면 기본값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원FirstOrDefault<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 특정 조건에 맞는 첫 번째 요소를 반환하거나, 이러한 요소가 없으면 기본값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey>(Func<Char, TKey>)오버로드되었습니다. 지정된 키 선택기 함수에 따라 시퀀스의 요소를 그룹화합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 선택기 함수에 따라 지정된 비교자로 키를 비교하여 시퀀스의 요소를 그룹화합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)오버로드되었습니다. 지정된 키 선택기 함수에 따라 시퀀스의 요소를 그룹화하고 지정된 함수를 사용하여 각 그룹의 요소를 투영합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>)오버로드되었습니다. 지정된 키 누적기 함수에 따라 시퀀스의 요소를 그룹화하고 각 그룹의 결과 값과 해당 키를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)오버로드되었습니다. 키 선택기 함수에 따라 시퀀스의 요소를 그룹화합니다. 키는 비교자를 통해 비교되고 각 그룹의 요소는 지정된 함수를 통해 투영됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 누적기 함수에 따라 시퀀스의 요소를 그룹화하고 각 그룹의 결과 값과 해당 키를 만듭니다. 키는 지정된 비교자를 통해 비교됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)오버로드되었습니다. 지정된 키 누적기 함수에 따라 시퀀스의 요소를 그룹화하고 각 그룹의 결과 값과 해당 키를 만듭니다. 각 그룹의 요소는 지정된 함수를 통해 투영됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 누적기 함수에 따라 시퀀스의 요소를 그룹화하고 각 그룹의 결과 값과 해당 키를 만듭니다. 키 값은 지정된 비교자를 통해 비교되고 각 그룹의 요소는 지정된 함수를 통해 투영됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>)오버로드되었습니다. 키가 같은지 여부에 따라 두 시퀀스의 요소를 연관시키고 결과를 그룹화합니다. 기본 같음 비교자를 사용하여 키를 비교합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원GroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)오버로드되었습니다. 키가 같은지 여부에 따라 두 시퀀스의 요소를 연관시키고 결과를 그룹화합니다. 지정된 IEqualityComparer<T>를 사용하여 키를 비교합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Intersect<Char>(IEnumerable<Char>)오버로드되었습니다. 기본 같음 비교자로 값을 비교하여 두 시퀀스의 교집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Intersect<Char>(IEnumerable<Char>, IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>로 값을 비교하여 두 시퀀스의 교집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Join<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>)오버로드되었습니다. 일치하는 키를 기준으로 두 시퀀스의 요소를 연관시킵니다. 기본 같음 비교자를 사용하여 키를 비교합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Join<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>, IEqualityComparer<TKey>)오버로드되었습니다. 일치하는 키를 기준으로 두 시퀀스의 요소를 연관시킵니다. 지정된 IEqualityComparer<T>를 사용하여 키를 비교합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Last<Char>()오버로드되었습니다. 시퀀스의 마지막 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Last<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 지정된 조건에 맞는 마지막 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원LastOrDefault<Char>()오버로드되었습니다. 시퀀스의 마지막 요소를 반환하거나, 시퀀스에 요소가 없으면 기본값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원LastOrDefault<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 특정 조건에 맞는 마지막 요소를 반환하거나, 이러한 요소가 없으면 기본값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원LongCount<Char>()오버로드되었습니다. 시퀀스의 총 요소 수를 나타내는 Int64를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원LongCount<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 특정 조건에 맞는 요소 수를 나타내는 Int64를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>()오버로드되었습니다. 제네릭 시퀀스의 최대값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Int32>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 Int32 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Nullable<Int32>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Int32 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Int64>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 Int64 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Nullable<Int64>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Int64 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Single>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 Single 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Nullable<Single>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Single 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Double>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 Double 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Nullable<Double>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Double 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Decimal>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 Decimal 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char>(Func<Char, Nullable<Decimal>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 nullable Decimal 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Max<Char, TResult>(Func<Char, TResult>)오버로드되었습니다. 제네릭 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최대 결과 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>()오버로드되었습니다. 제네릭 시퀀스의 최소값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Int32>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 Int32 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Nullable<Int32>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Int32 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Int64>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 Int64 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Nullable<Int64>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Int64 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Single>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 Single 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Nullable<Single>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Single 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Double>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 Double 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Nullable<Double>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Double 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Decimal>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 Decimal 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char>(Func<Char, Nullable<Decimal>>)오버로드되었습니다. 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 nullable Decimal 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Min<Char, TResult>(Func<Char, TResult>)오버로드되었습니다. 제네릭 시퀀스의 각 요소에 대해 변형 함수를 호출하고 최소 결과 값을 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원OfType<TResult>지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원OrderBy<Char, TKey>(Func<Char, TKey>)오버로드되었습니다. 시퀀스의 요소를 키에 따라 오름차순으로 정렬합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원OrderBy<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)오버로드되었습니다. 지정된 비교자를 사용하여 시퀀스의 요소를 오름차순으로 정렬합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원OrderByDescending<Char, TKey>(Func<Char, TKey>)오버로드되었습니다. 시퀀스의 요소를 키에 따라 내림차순으로 정렬합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원OrderByDescending<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)오버로드되었습니다. 지정된 비교자를 사용하여 시퀀스의 요소를 내림차순으로 정렬합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Reverse<Char>시퀀스의 요소 순서를 반전합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Select<Char, TResult>(Func<Char, TResult>)오버로드되었습니다. 시퀀스의 각 요소를 새 폼에 투영합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Select<Char, TResult>(Func<Char, Int32, TResult>)오버로드되었습니다. 요소의 인덱스를 통합하여 시퀀스의 각 요소를 새 폼에 투영합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SelectMany<Char, TResult>(Func<Char, IEnumerable<TResult>>)오버로드되었습니다. 시퀀스의 각 요소를 IEnumerable<T>에 투영하고 결과 시퀀스를 단일 시퀀스로 평면화합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SelectMany<Char, TResult>(Func<Char, Int32, IEnumerable<TResult>>)오버로드되었습니다. 시퀀스의 각 요소를 IEnumerable<T>에 투영하고 결과 시퀀스를 단일 시퀀스로 평면화합니다. 각 소스 요소의 인덱스는 해당 요소의 투영된 폼에 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SelectMany<Char, TCollection, TResult>(Func<Char, Int32, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)오버로드되었습니다. 시퀀스의 각 요소를 IEnumerable<T>로 투영하고, 결과 시퀀스를 단일 시퀀스로 평면화한 다음 포함된 각 요소에 대해 결과 선택기 함수를 호출합니다. 각 소스 요소의 인덱스는 해당 요소의 투영된 중간 폼에 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SelectMany<Char, TCollection, TResult>(Func<Char, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)오버로드되었습니다. 시퀀스의 각 요소를 IEnumerable<T>로 투영하고, 결과 시퀀스를 단일 시퀀스로 평면화한 다음 포함된 각 요소에 대해 결과 선택기 함수를 호출합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SequenceEqual<Char>(IEnumerable<Char>)오버로드되었습니다. 해당 형식에 대한 기본 같음 비교자를 통해 요소를 비교하여 두 시퀀스가 서로 같은지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SequenceEqual<Char>(IEnumerable<Char>, IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>를 통해 요소를 비교하여 두 시퀀스가 서로 같은지 확인합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Single<Char>()오버로드되었습니다. 시퀀스의 유일한 요소를 반환하고, 시퀀스에 요소가 정확히 하나 들어 있지 않으면 예외를 throw합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Single<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하고, 이러한 요소가 둘 이상 있으면 예외를 throw합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SingleOrDefault<Char>()오버로드되었습니다. 시퀀스의 유일한 요소를 반환하거나 시퀀스가 비어 있으면 기본값을 반환합니다. 시퀀스에 요소가 둘 이상 있으면 예외를 throw합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SingleOrDefault<Char>(Func<Char, Boolean>)오버로드되었습니다. 시퀀스에서 지정된 조건에 맞는 유일한 요소를 반환하거나 이러한 요소가 없으면 기본값을 반환합니다. 조건에 맞는 요소가 둘 이상 있으면 예외를 throw합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Skip<Char>시퀀스에서 지정된 수의 요소를 건너뛴 다음 나머지 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SkipWhile<Char>(Func<Char, Boolean>)오버로드되었습니다. 지정된 조건이 true이면 시퀀스에 있는 요소를 무시하고 나머지 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원SkipWhile<Char>(Func<Char, Int32, Boolean>)오버로드되었습니다. 지정된 조건이 true이면 시퀀스에 있는 요소를 무시하고 나머지 요소를 반환합니다. 조건자 함수의 논리에 요소의 인덱스가 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드Subscribe<Char>(IObserver<Char>)오버로드되었습니다. (Observable에서 정의됨)
Public 확장 메서드Subscribe<Char>(IObserver<Char>, IScheduler)오버로드되었습니다. (Observable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Int32>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Int32 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Nullable<Int32>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int32 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Int64>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Int64 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Nullable<Int64>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Int64 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Single>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Single 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Nullable<Single>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Single 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Double>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Double 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Nullable<Double>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Double 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Decimal>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 Decimal 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Sum<Char>(Func<Char, Nullable<Decimal>>)오버로드되었습니다. 입력 시퀀스의 각 요소에 대해 변형 함수를 호출하여 가져온 nullable Decimal 값 시퀀스의 합을 계산합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Take<Char>시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원TakeWhile<Char>(Func<Char, Boolean>)오버로드되었습니다. 지정된 조건이 true인 동안 시퀀스에서 요소를 반환합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원TakeWhile<Char>(Func<Char, Int32, Boolean>)오버로드되었습니다. 지정된 조건이 true인 동안 시퀀스에서 요소를 반환합니다. 조건자 함수의 논리에 요소의 인덱스가 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToArray<Char> IEnumerable<T> 을 사용하여 배열을 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToDictionary<Char, TKey>(Func<Char, TKey>)오버로드되었습니다. 지정된 키 선택기 함수에 따라 IEnumerable<T>을 사용하여 Dictionary<TKey, TValue>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToDictionary<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 선택기 함수와 키 비교자에 따라 IEnumerable<T>을 사용하여 Dictionary<TKey, TValue>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)오버로드되었습니다. 지정된 키 선택기와 요소 선택기 함수에 따라 IEnumerable<T>을 사용하여 Dictionary<TKey, TValue>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 IEnumerable<T>을 사용하여 Dictionary<TKey, TValue>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToList<Char> IEnumerable<T> 을 사용하여 List<T>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToLookup<Char, TKey>(Func<Char, TKey>)오버로드되었습니다. 지정된 키 선택기 함수에 따라 IEnumerable<T>을 사용하여 Lookup<TKey, TElement>을 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToLookup<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 선택기 함수와 키 비교자에 따라 IEnumerable<T>을 사용하여 Lookup<TKey, TElement>을 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)오버로드되었습니다. 지정된 키 선택기와 요소 선택기 함수에 따라 IEnumerable<T>을 사용하여 Lookup<TKey, TElement>를 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원ToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)오버로드되었습니다. 지정된 키 선택기 함수, 비교자 및 요소 선택기 함수에 따라 IEnumerable<T>을 사용하여 Lookup<TKey, TElement>을 만듭니다. (Enumerable에서 정의됨)
Public 확장 메서드ToObservable<Char>()오버로드되었습니다. (Observable에서 정의됨)
Public 확장 메서드ToObservable<Char>(IScheduler)오버로드되었습니다. (Observable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Union<Char>(IEnumerable<Char>)오버로드되었습니다. 기본 같음 비교자를 사용하여 두 시퀀스의 합집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Union<Char>(IEnumerable<Char>, IEqualityComparer<Char>)오버로드되었습니다. 지정된 IEqualityComparer<T>를 사용하여 두 시퀀스의 합집합을 구합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Where<Char>(Func<Char, Boolean>)오버로드되었습니다. 조건자에 따라 값의 시퀀스를 필터링합니다. (Enumerable에서 정의됨)
Public 확장 메서드XNA Framework에서 지원Where<Char>(Func<Char, Int32, Boolean>)오버로드되었습니다. 조건자에 따라 값의 시퀀스를 필터링합니다. 조건자 함수의 논리에 각 요소의 인덱스가 사용됩니다. (Enumerable에서 정의됨)
Public 확장 메서드Zip<Char, TSecond, TResult>지정된 함수를 두 시퀀스의 해당 요소에 적용하여 결과 시퀀스를 만듭니다. (Enumerable에서 정의됨)
위쪽

  이름설명
Public 필드정적 멤버XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Empty빈 문자열을 나타냅니다. 이 필드는 읽기 전용입니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IComparable.CompareTo현재 인스턴스와 동일한 형식의 다른 개체를 비교하고 정렬 순서에서 현재 인스턴스의 위치가 다른 개체보다 앞인지, 뒤인지 또는 동일한지를 나타내는 정수를 반환합니다.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToBoolean인프라입니다. 이 멤버에 대한 설명은 ToBoolean을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToByte인프라입니다. 이 멤버에 대한 설명은 ToByte를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToChar인프라입니다. 이 멤버에 대한 설명은 ToChar를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDateTime인프라입니다. 이 멤버에 대한 설명은 ToDateTime을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDecimal인프라입니다. 이 멤버에 대한 설명은 ToDecimal을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToDouble인프라입니다. 이 멤버에 대한 설명은 ToDouble을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt16인프라입니다. 이 멤버에 대한 설명은 ToInt16을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt32인프라입니다. 이 멤버에 대한 설명은 ToInt32를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToInt64인프라입니다. 이 멤버에 대한 설명은 ToInt64를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToSByte인프라입니다. 이 멤버에 대한 설명은 ToSByte를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToSingle인프라입니다. 이 멤버에 대한 설명은 ToSingle을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToType인프라입니다. 이 멤버에 대한 설명은 ToType을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt16인프라입니다. 이 멤버에 대한 설명은 ToUInt16을 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt32인프라입니다. 이 멤버에 대한 설명은 ToUInt32를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IConvertible.ToUInt64인프라입니다. 이 멤버에 대한 설명은 ToUInt64를 참조하십시오.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원IEnumerable<Char>.GetEnumerator현재 String 개체를 반복하는 열거자를 반환합니다.
명시적 인터페이스 구현Private 메서드XNA Framework에서 지원이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IEnumerable.GetEnumerator현재 String 개체를 반복하는 열거자를 반환합니다.
위쪽

문자열은 텍스트를 나타내는 데 사용되는 유니코드 문자의 순차적인 컬렉션입니다. String 개체는 문자열을 나타내는 System.Char 개체의 순차적인 컬렉션입니다. String 개체의 값은 순차적인 컬렉션의 내용이며 읽기 전용으로 변경할 수 없습니다. 문자열의 불면성에 대한 자세한 내용은 이 항목 이후의 불면성과 StringBuilder 클래스 단원을 참조하십시오. 메모리에서 String 의 최대 크기는 2GB 이거나 약 1 억 개의 문자입니다.

이 섹션의 내용

문자열 개체 인스턴스화
Char 개체 및 유니코드 문자
문자열 및 포함된 Null 문자
문자열 및 인덱스
Null 문자열 및 빈 문자열
불면성과 StringBuilder 클래스
기존과 문화권 구분 작업
정규화
범주별 문자열 작업

문자열 개체 인스턴스화

다음 방법을 사용하여 String 개체를 인스턴스화할 수 있습니다.

  • 문자열 리터럴을 String 변수에 할당합니다. 이것은 문자열을 만들기 위해 가장 일반적으로 사용되는 메서드입니다. 다음 예제에서는 할당을 사용하여 여러 문자열을 만듭니다. C#에서 백슬래시(\)는 이스케이프 문자이므로 문자열의 리터럴 백슬래시를 이스케이프하거나 전체 문자열을 @로 묶어야 합니다.

    
    string string1 = "This is a string created by assignment.";
    Console.WriteLine(string1);
    string string2a = "The path is C:\\PublicDocuments\\Report1.doc";
    Console.WriteLine(string2a);
    string string2b = @"The path is C:\PublicDocuments\Report1.doc";
    Console.WriteLine(string2b);
    // The example displays the following output:
    //       This is a string created by assignment.
    //       The path is C:\PublicDocuments\Report1.doc
    //       The path is C:\PublicDocuments\Report1.doc      
    
    
    
  • String 생성자를 호출합니다. 다음 예제에서는 여러 클래스 생성자를 호출하여 문자열을 인스턴스화합니다. 일부 생성자는 문자 배열에 대한 포인터 또는 부호 있는 바이트 배열을 매개 변수로 포함합니다. Visual Basic에서는 이러한 생성자에 대한 호출은 지원하지 않습니다. String 생성자에 관한 자세한 내용은, String 생성자 요약을 참조하세요.

    
    char[] chars = { 'w', 'o', 'r', 'd' };
    sbyte[] bytes = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x00 };
    
    // Create a string from a character array.
    string string1 = new string(chars);
    Console.WriteLine(string1);
    
    // Create a string that consists of a character repeated 20 times.
    string string2 = new string('c', 20);
    Console.WriteLine(string2);
    
    string stringFromBytes = null;
    string stringFromChars = null;
    unsafe
    {
       fixed (sbyte* pbytes = bytes)
       {
          // Create a string from a pointer to a signed byte array.
          stringFromBytes = new string(pbytes);
       }
       fixed (char* pchars = chars)
       {
          // Create a string from a pointer to a character array.
          stringFromChars = new string(pchars);
       }
    }
    Console.WriteLine(stringFromBytes);
    Console.WriteLine(stringFromChars);
    // The example displays the following output:
    //       word
    //       cccccccccccccccccccc
    //       ABCDE
    //       word  
    
    
    
  • 문자열 연결 연산자(C#의 경우 +, Visual Basic의 경우 & 또는 +)를 사용하여 String 인스턴스와 문자열 리터럴의 임의 조합에서 단일 문자열을 만들 수 있습니다. 다음 예제에서는 문자열 연결 연산자의 사용법을 보여 줍니다.

    
    string string1 = "Today is " + DateTime.Now.ToString("D") + ".";
    Console.WriteLine(string1);
    
    string string2 = "This is one sentence. " + "This is a second. ";
    string2 += "This is a third sentence.";
    Console.WriteLine(string2);
    // The example displays output like the following:
    //    Today is Tuesday, July 06, 2011.
    //    This is one sentence. This is a second. This is a third sentence.
    
    
    
  • 속성을 검색하거나 문자열을 반환하는 메서드를 호출합니다. 다음 예제에서는 String 클래스의 메서드를 사용하여 큰 문자열에서 부분 문자열을 추출합니다.

    
    string sentence = "This sentence has five words.";
    // Extract the second word.
    int startPosition = sentence.IndexOf(" ") + 1;
    string word2 = sentence.Substring(startPosition,
                                      sentence.IndexOf(" ", startPosition) - startPosition);
    Console.WriteLine("Second word: " + word2);
    // The example displays the following output:
    //       Second word: sentence
    
    
    
  • 형식 지정 메서드를 호출하여 값 또는 개체를 문자열 표현으로 변환합니다. 다음 예제에서는 composite formatting 기능을 사용하여 두 개체의 문자열 표현을 하나의 문자열에 포함시킵니다.

    
    DateTime dateAndTime = new DateTime(2011, 7, 6, 7, 32, 0);
    double temperature = 68.3;
    string result = String.Format("At {0:t} on {0:D}, the temperature was {1:F1} degrees Fahrenheit.",
                                  dateAndTime, temperature);
    Console.WriteLine(result);
    // The example displays the following output:
    //       At 7:32 AM on Wednesday, July 06, 2011, the temperature was 68.3 degrees Fahrenheit.      
    
    
    

Char 개체 및 유니코드 문자

문자열에 있는 각각의 유니코드 문자는 유니코드 스칼라 반환으로 정의됩니다. 유니코드 스칼라 반환은 유니코드 문자의 서수(숫자) 값 또는 유니코드 코드 포인트라고도 합니다. 각 코드 포인트는 UTF-16 인코딩을 사용하여 인코딩되고 인코딩 각 요소의 숫자 값은 Char 개체로 표시됩니다.

단일 Char 개체는 일반적으로 단일 코드 포인트를 나타냅니다. 즉, Char의 숫자 값은 코드 포인트와 같습니다. 예를 들어, 문자 "a"의 코드 포인트는 U+0061입니다. 그러나 코드 포인트에는 두 개 이상의 인코딩된 요소(둘 이상의 Char 개체)가 필요할 수 있습니다. 유니코드 표준은 여러 개의 Char 개체: 제자, 유니코드 보충 코드 포인트 및 보충 평면의 문자에 해당하는 세 가지 형식의 문자를 정의합니다.

  • 단일 문자는 하나 이상의 결함 문자로 이어지는 기본 문자로 표현됩니다. 예를 들어, 문자 ä는 코드 포인트가 U+0061이고 이어 코드 포인트가 +0308인 Char 개체는 Char로 표현됩니다. 이 문자는 코드 포인트가 U+00E4인 Char 개체로 정의할 수도 있습니다. 다음 예제와 같이, 문화권을 구분하는 같음 비교에서는 두 표현이 같다고 나타나지만 서수 비교에서는 다른 것으로 나타납니다. 그러나 두 문자열이 정규화되는 경우 서수 비교도 서로 동일하다는 것을 나타냅니다. 문자열을 정규화하는 자세한 내용은, 정규화 단원을 참조하십시오.

    
    using System;
    using System.Globalization;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\graphemes.txt");
          string grapheme = "\u0061\u0308";
          sw.WriteLine(grapheme);
    
          string singleChar = "\u00e4";
          sw.WriteLine(singleChar);
    
          sw.WriteLine("{0} = {1} (Culture-sensitive): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.CurrentCulture));
          sw.WriteLine("{0} = {1} (Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.Ordinal));
          sw.WriteLine("{0} = {1} (Normalized Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme.Normalize(), 
                                     singleChar.Normalize(), 
                                     StringComparison.Ordinal));
          sw.Close(); 
       }
    }
    // The example produces the following output:
    //       ä
    //       ä
    //       ä = ä (Culture-sensitive): True
    //       ä = ä (Ordinal): False
    //       ä = ä (Normalized Ordinal): True
    
    
    
  • 유니코드 보충 코드 포인트(서로게이트 쌍)는 코드 포인트가 상위 서로게이트인 Char 개체와 이어서 코드 포인트가 하위 서로게이트인 Char 개체로 나타냅니다. high surrogate의 코드 유닛의 범위는 U+D800 ~ U+DBFF입니다. low surrogate의 코드 유닛의 범위는 U+DC00 ~ U+DFFF입니다. 서로게이트 쌍은 16개 유니코드 보충 평면에서 문자를 나타내는 데 사용됩니다. 다음 예제에서는 서로게이트 문자를 만들고 Char.IsSurrogatePair(Char, Char) 메서드로 전달하여 서로게이트 쌍인지 여부를 확인합니다.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          string surrogate = "\uD800\uDC03";
          for (int ctr = 0; ctr < surrogate.Length; ctr++) 
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate[ctr]));
    
          Console.WriteLine();
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate[0], surrogate[1]));
       }
    }
    // The example displays the following output:
    //       U+D800 U+DC03
    //          Is Surrogate Pair: True
    
    
    

문자열 및 포함된 Null 문자

.NET Framework에서는 String 개체에 null 문자가 포함될 수 있으며, null은 문자열 길이에 포함되어 계산됩니다. 그러나 C 및 C++ 등의 일부 언어에서는 null 문자가 문자열의 끝을 나타내며 문자열의 일부로 간주되지 않고 문자열 길이에 포함되어 계산되지 않습니다. 즉, C 및 C++ 프로그래머가 공통적으로 가정하거나 C 또는 C++로 작성된 라이브러리에서 전제하는 다음과 같은 사항이 String 개체에는 적용되지 않을 수 있습니다.

  • strlen 또는 wcslen 함수에서 반환하는 값이 String.Length와 같지 않을 수도 있습니다.

  • strcpy_s 또는 wcscpy_s 함수로 만든 문자열이 String.Copy 메서드로 만든 문자열과 일치하지 않을 수도 있습니다.

String 개체를 인스턴스화하는 네이티브 C와 C++ 코드 및 플랫폼 호출을 통해 String 개체를 전달받는 코드에서는 포함된 null 문자가 문자열 끝을 표시한다고 가정하지 않습니다.

또한 문자열에 포함된 Null 문자는 문자열을 정렬(또는 비교)할 때와 문자열을 검색할 때 다르게 처리됩니다. 고정 문화권을 사용한 비교를 포함하여 두 문자열 사이의 문화권 구분 비교를 수행할 때 Null 문자는 무시됩니다. 서수 또는 대/소문자를 구분하지 않는 서수 비교에 대해서만 고려됩니다. 반면에 Contains, StartsWithIndexOf 같은 메서드에서 문자열을 검색할 때 포함된 null 문자를 항상 고려합니다.

문자열 및 인덱스

인덱스는 String에 있는 유니코드 문자가 아니라 Char 개체의 위치입니다. 인덱스는 0부터 시작하는 음수가 아닌 수이며 인덱스 위치가 0인 문자열의 첫 위치부터 시작됩니다. IndexOf , LastIndexOf와 같은 여러 검색 방법이 스트링 인스턴스에 부분 문자열 또는 문자의 인덱스를 반환합니다.

Chars 속성을 사용하면 문자열에서 인덱스 위치에 의해 개별 Char 개체에 액세스할 수 있습니다. Chars 속성은 기본 속성(Visual Basic의 경우) 또는 인덱서(C#의 경우)이므로 다음과 같은 코드를 사용하여 문자열의 개별 Char 개체에 액세스할 수 있습니다. 이 코드는 문자열에서 공백 또는 구두점 문자를 찾아 문자열에 포함된 단어 수를 결정합니다.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      for (int ctr = 0; ctr < s1.Length; ctr++) {
         if (Char.IsPunctuation(s1[ctr]) | Char.IsWhiteSpace(s1[ctr]))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


String 클래스는 IEnumerable 인터페이스를 구현하므로 다음 예제와 같이 foreach 생성자를 사용하여 문자열의 Char 개체를 통해 반복할 수도 있습니다.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      foreach (var ch in s1) {
         if (Char.IsPunctuation(ch) | Char.IsWhiteSpace(ch))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


연속된 인덱스 값은 유니코드 문자가 두 개 이상의 Char 개체로 인코딩될 수 있기 때문에 연속된 유니코드 문자와 일치하지 않을 수도 있습니다. 특히, 문자열의 텍스트는 기본 문자와 하나 이상의 결합 문자 또는 서로게이트 쌍에서 형성된 다중 문자 단위를 포함할 수 있습니다. Char 개체 대신 유니코드 문자로 작업하려면 System.Globalization.StringInfoTextElementEnumerator 클래스를 사용합니다. 다음 예제에서는 Char 개체를 사용하는 코드와 유니코드 문자를 사용하는 코드 간 차이를 보여 줍니다. 문장의 각 단어에서 문자 수 또는 텍스트 요소를 비교합니다. 문자열에는 기본 문자와 조합 문자의 두 시퀀스가 포함되어 있습니다.


using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // First sentence of The Mystery of the Yellow Room, by Leroux.
      string opening = "Ce n'est pas sans une certaine émotion que "+
                       "je commence à raconter ici les aventures " +
                       "extraordinaires de Joseph Rouletabille."; 
      // Character counters.
      int nChars = 0;
      // Objects to store word count.
      List<int> chars = new List<int>();
      List<int> elements = new List<int>();

      foreach (var ch in opening) {
         // Skip the ' character.
         if (ch == '\u0027') continue;

         if (Char.IsWhiteSpace(ch) | (Char.IsPunctuation(ch))) {
            chars.Add(nChars);
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      TextElementEnumerator te = StringInfo.GetTextElementEnumerator(opening);
      while (te.MoveNext()) {
         string s = te.GetTextElement();   
         // Skip the ' character.
         if (s == "\u0027") continue;
         if ( String.IsNullOrEmpty(s.Trim()) | (s.Length == 1 && Char.IsPunctuation(Convert.ToChar(s)))) {
            elements.Add(nChars);         
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      // Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters"); 
      for (int ctr = 0; ctr < chars.Count; ctr++) 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars[ctr], elements[ctr]); 
   }
}
// The example displays the following output:
//       Word #         Char Objects           Characters
//            0                    2                    2
//            1                    4                    4
//            2                    3                    3
//            3                    4                    4
//            4                    3                    3
//            5                    8                    8
//            6                    8                    7
//            7                    3                    3
//            8                    2                    2
//            9                    8                    8
//           10                    2                    1
//           11                    8                    8
//           12                    3                    3
//           13                    3                    3
//           14                    9                    9
//           15                   15                   15
//           16                    2                    2
//           17                    6                    6
//           18                   12                   12


이 예제는 StringInfo.GetTextElementEnumerator 메서드와 문자열에서 모든 텍스트 요소 열거형에 TextElementEnumerator 클래스를 사용하여 수행됩니다. StringInfo.ParseCombiningCharacters 메서드를 호출하여 각 텍스트 요소의 시작을 포함하는 배열을 검색할 수 있습니다.

개별의 Char 값보다 텍스트의 단위로 작업을 수행하는 정보에 대한 자세한 내용은 StringInfo 클래스를 참고하세요.

Null 문자열 및 빈 문자열

선언되었지만 값이 할당되지 않은 문자열은 null입니다. 해당 문자열에서 메서드를 호출하려고 시도하면 NullReferenceException이 throw됩니다. Null 문자열은 값이 """ 또는 String.Empty인 빈 문자열과 다릅니다. Null 문자열 또는 빈 문자열을 메서드 호출의 인수로 전달하면 예외가 throw되는 경우가 있습니다. 예를 들어, Int32.Parse 메서드에 Null 문자열을 전달하면 ArgumentNullException이 throw되고 빈 문자열을 전달하면 FormatException이 throw됩니다. 다른 경우 메서드 인수는 null 문자열 또는 빈 문자열이 될 수 있습니다. 예를 들어, 클래스에 대한 IFormattable 구현을 제공하는 경우 Null 문자열과 빈 문자열 둘 다를 일반("G") 형식 지정자와 동일 시 하려고 합니다.

String 클래스는 문자열이 null 또는 비어 있는지를 테스트할 수 있는 다음 두 가지 편리한 메서드를 포함합니다.

  • 문자열이 null인지 또는 String.Empty와 같은지를 나타내는 IsNullOrEmpty입니다. 이 메서드는 다음과 같은 코드를 사용할 필요성을 제거합니다.

    
    if (str == null || str.Equals(String.Empty))
    
    
    
  • 문자열이 null인지, String.Empty와 같은지 또는 공백 문자로만 구성되어 있는지를 나타내는 IsNullOrWhiteSpace입니다. 이 메서드는 다음과 같은 코드를 사용할 필요성을 제거합니다.

    
    if (str == null || str.Equals(String.Empty) || str.Trim().Equals(String.Empty))
    
    
    

다음 예제에서는 사용자 지정 Temperature 클래스의 IFormattable.ToString 구현에서 IsNullOrEmpty 메서드를 사용합니다. 메서드는 "G", "C", "F" 및 "K" 형식 문자열을 지원합니다. 빈 서식 문자열 또는 값이 null인 서식 문자열이 메서드로 전달되는 경우 해당 값은 "G" 서식 문자열로 변경됩니다.


public string ToString(string format, IFormatProvider provider) 
{
   if (String.IsNullOrEmpty(format)) format = "G";  
   if (provider == null) provider = CultureInfo.CurrentCulture;

   switch (format.ToUpperInvariant())
   {
      // Return degrees in Celsius.    
      case "G":
      case "C":
         return temp.ToString("F2", provider) + "°C";
      // Return degrees in Fahrenheit.
      case "F": 
         return (temp * 9 / 5 + 32).ToString("F2", provider) + "°F";
      // Return degrees in Kelvin.
      case "K":   
         return (temp + 273.15).ToString();
      default:
         throw new FormatException(
               String.Format("The {0} format string is not supported.", 
                             format));
   }                                   
}


불면성과 StringBuilder 클래스

String 개체는 일단 만들어지면 값을 수정할 수 없으므로 변경 불가능(읽기 전용)이라고 합니다. String 개체를 수정하는 것처럼 보이는 메서드는 실제로는 해당 수정 사항을 포함하는 새 String 개체를 반환합니다.

문자열은 변경할 수 없으므로 단일 문자열로 보이는 문자열에 대해 반복적 추가 또는 삭제를 수행하는 문자열 조작 루틴은 성능을 크게 저하시킬 수 있습니다. 예를 들어, 다음 코드는 난수 생성기를 사용하여 0x0001 ~ 0x052F 범위에 1000 문자의 문자열을 생성합니다. 코드에서 문자열 연결을 사용하여 str라는 기존 문자열에 새 문자를 추가하는 것처럼 보이지만, 실제로는 각 연결 작업에 대해 새 String 개체를 생성하는 것입니다.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      string str = String.Empty;
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                           false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         str += Convert.ToChar(rnd.Next(1, 0x0530)); 
         if (str.Length % 60 == 0)
            str += Environment.NewLine;          
      }                    
      sw.Write(str);
      sw.Close();
   }
}


문자열의 값을 여러 번 변경하는 작업의 경우 String 클래스 대신 StringBuilder 클래스를 사용할 수 있습니다. String 클래스의 인스턴스와 달리 StringBuilder 개체는 변경 가능하며 문자열에서 부분 문자열을 연결, 추가 또는 삭제할 때 작업은 단일 문자열에서 수행됩니다. StringBuilder 개체의 값을 수정했으면 StringBuilder.ToString 메서드를 호출하여 문자열로 변환할 수 있습니다. 다음 예제에서는 이전 예제에서 0x0001 ~ 0x052F 범위의 1000개의 임의 문자를 연결하는 데 사용된 StringStringBuilder 개체로 대체합니다.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      StringBuilder sb = new StringBuilder();
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                                         false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         sb.Append(Convert.ToChar(rnd.Next(1, 0x0530))); 
         if (sb.Length % 60 == 0)
            sb.AppendLine();          
      }                    
      sw.Write(sb.ToString());
      sw.Close();
   }
}


기존과 문화권 구분 작업

String 클래스의 멤버는 String 개체에서 서수 또는 문화권 구분(언어) 연산을 수행합니다. 서수적 연산은 Char 개체 각각의 숫자 값에 수행됩니다. 문화적 구분 연산은 문화권별 캐스팅, 정렬, 형식 지정 및 구문 분석 규칙을 고려하여 String 개체의 값에서 수행됩니다. 문화권 구분 작업은 명시적으로 선언된 문화권 또는 암시적인 현재 문화권의 컨텍스트에서 수행됩니다. 같은 문자열에서 수행하면 두 종류의 작업이 매우 다른 결과를 생성할 수 있습니다.

보안 정보보안 정보

응용 프로그램에서 파일 이름 또는 명명된 파이프 같은 기호 식별자나 XML 파일의 텍스트 기반 데이터 같은 보관된 데이터에 대한 보안을 결정할 경우, 해당 작업에서는 문화권 구분 비교 대신 서수 비교를 사용해야 합니다. 문화권 구분 비교에서는 적용된 문화권에 따라 다른 결과가 생성될 수 있는 반면, 서수 비교에서는 비교되는 문자의 이진 값에 따라서만 결과가 결정되기 때문입니다.

중요중요

문자열 작업을 수행하는 대부분의 메서드에는 메서드가 서수 또는 문화권 구분 작업을 수행하는지를 지정할 수 있는 StringComparison 형식의 매개 변수를 가진 오버로드가 포함되어 있습니다. 일반적으로, 메서드 호출을 분명하게 하려면 이 오버로드를 호출해야 합니다. 문자열에 서수 및 문화권 구분 작업 사용에 대한 모범 사례와 지침은 .NET Framework에서 문자열 사용에 대한 유용한 정보를 참조하십시오.

casing, 구문 분석 및 서식, 비교 및 정렬, 및 같음 여부 테스트 에 대한 계산들은 문화권 구분 또는 기존의 방법이 사용 될 수 있습니다. 다음 단원에서는 작업의 각 범주를 설명합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif대/소문자 구분

대/소문자 규칙에서는 소문자를 대문자로 변경하는 방법과 같이 유니코드 문자의 대문자 표시 변경 방법을 결정합니다. 종종, 대/소문자 구분 작업은 문자열 비교 전에 수행됩니다. 예를 들어, 문자열을 다른 대문자 문자열과 비교할 수 있도록 대문자로 변환할 수 있습니다. ToLower 또는 ToLowerInvariant 메서드를 호출하여 문자열을 대문자로 변환하거나 ToUpper 또는 ToUpperInvariant 메서드를 호출하여 대문자로 변환할 수 있습니다. 뿐만 아니라 TextInfo.ToTitleCase 메서드를 사용하여 문자열을 제목 대/소문자로 변환할 수 있습니다.

대/소문자 구분 작업은 현재 문화권, 지정된 문화권 또는 고정 문화권의 규칙을 기초로 할 수 있습니다. 문화권에 따라 다양한 대/소문자 매핑이 사용되므로, 작업의 결과가 문화권에 따라 달라질 수 있습니다. 대/소문자 매핑에서 실질적인 차이는 세가지가 있습니다:

  • 라틴 대문자 I의 대/소문자(U+0049), 라틴어 작은 편지 I (U + 0069), 라틴 대문자 I (U+0130), 라틴 소문자의 점 없는 I (U+0131) 의 대/소문자 매핑에서 차이점이 있습니다. Az-Latn-AZ (아제르바이잔, 라틴 문자)과 TR-TR (터키어 (터키))문화권에서, 그리고 tr, az, az Latn 중립 문화권에서, 라틴 대문자 I 의 동격인 소문자는 라틴 소문자 점없는 I이고, 라틴 소문자 I의 동격인 대문자는 라틴 대문자 점위의 I입니다. 다른 모든 문화권에서 고정 문화권 라틴어 작은 편지 I와 라틴 대문자 I는 해당 하는 대 / 소문자를 포함 하 여.

    다음 예제에서는 문화권별 대소문자 비교를 사용하는 경우, 파일 시스템 접근이 실패하는 것을 막기 위해 디자인되는 문자열 비교 방법을 설명합니다. (고정 문화권의 대/소문자 규칙을 사용했습니다.)

    
    using System;
    using System.Globalization;
    using System.Threading;
    
    public class Example
    {
       const string disallowed = "file";
    
       public static void Main()
       {
          IsAccessAllowed(@"FILE:\\\c:\users\user001\documents\FinancialInfo.txt");
       }
    
       private static void IsAccessAllowed(String resource)
       {
          CultureInfo[] cultures = { CultureInfo.CreateSpecificCulture("en-US"),
                                     CultureInfo.CreateSpecificCulture("tr-TR") };
          String scheme = null;
          int index = resource.IndexOfAny( new Char[] { '\\', '/' } );
          if (index > 0) 
             scheme = resource.Substring(0, index - 1);
    
          // Change the current culture and perform the comparison.
          foreach (var culture in cultures) {
             Thread.CurrentThread.CurrentCulture = culture;
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName);
             Console.WriteLine(resource);
             Console.WriteLine("Access allowed: {0}", 
                               ! String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase));      
             Console.WriteLine();
          }   
       }
    }
    // The example displays the following output:
    //       Culture: English (United States)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: False
    //       
    //       Culture: Turkish (Turkey)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: True
    
    
    
  • 고정 문화권과 다른 모든 문화권사이의 대/소문자 매핑 차이점. 이 경우, 고정 문화권의 대/소문자 규칙을 사용하여 문자를 대문자나 소문자로 변경하면 같은문자를 반환합니다. 다른 모든 문화권에 대해, 이것은 서로 다른 문자를 반환합니다. 영향을 받는 문자들은 다음과 같습니다.

    문자

    만약 변경한다면

    반환 값

    미크론 기호 (U+00B5)

    대문자로

    그리스어 대문자 뮤 (U+-39C)

    라틴 대문자 점위에 I (U+0130)

    소문자로

    라틴 소문자 I (U+0069)

    영문 소문자 점 없는 I (U + 0131)

    대문자로

    라틴 대문자 I (U+0049)

    라틴 소문자 긴 S (U+017F)

    대문자로

    라틴 대문자 S (U+0053)

    카론과 라틴 소문자 z와 라틴 대문자 D (U+01C5)

    소문자로

    라틴 소문자 DZ와 카톤(U+01C6)

    그리스어 결합 YPOGEGRAMMENI (U+0345)

    대문자로

    그리스어 대문자 IOTA (U+0399)

  • ASCII 문자 범위 내에 두 문자 대 소문자 쌍의 대/소문자 매핑 차이. 대부분의 문화권에서, 대/소문자 쌍은 해당 문자의 대문자와 소문자 쌍이 동일한 의미를 지닙니다. 각각의 경우에는 그들은 이중글자로 비교되기 때문에 다음 문화권에서 다음 두 문자 쌍에 대한 것은 사실이 아닙니다.

    • HR-HR(크로아티아어 (크로아티아)) 문화권에서 "lJ" 및 "nJ".

    • cs-CZ (체코어 (체코 공화국))와 sk-SK (슬로바키아어 (슬로바키아)) 문화에서 "cH".

    • DA-DK (덴마크어 (덴마크)) 문화권에서 "aA".

    • hu-HU (헝가리어 (헝가리)) 문화권에서 "cS", "dZ", "dZS", "nY", "sZ", "tY" 및 "zS".

    • es-es_tradnl (스페인어 (스페인, 전통 정렬)) 문화권에서 "cH"와 "lL".

    • vi-VN (베트남어 (베트남)) 문화권에서 "cH", "gI", "kH", "nG" "nH", "pH" "qU',"tH" 와 "tR" 입니다.

    그러나, 이 쌍들이 식별자들이나 고정된 문자열에서 잘 나타나지 않기 때문에 이러한 쌍들의 문화권 구별 비교가 문제를 만드는 상황은 매우 드뭅니다.

다음은 예제에서는 문자열을 대문자로 변환할 때 문화권 간 대/소문자 구분 규칙의 몇 가지 차이점을 보여 줍니다.


using System;
using System.Globalization;
using System.IO;

public class Example
{
   public static void Main()
   {
      StreamWriter sw = new StreamWriter(@".\case.txt");   
      string[] words = { "file", "sıfır", "Dženana" };
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"),  
                                 new CultureInfo("tr-TR") };

      foreach (var word in words) {
         sw.WriteLine("{0}:", word);
         foreach (var culture in cultures) {
            string name = String.IsNullOrEmpty(culture.Name) ? 
                                 "Invariant" : culture.Name;
            string upperWord = word.ToUpper(culture);
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord));

         }
         sw.WriteLine();  
      }
      sw.Close();
   }

   private static string ShowHexValue(string s)
   {
      string retval = null;
      foreach (var ch in s) {
         byte[] bytes = BitConverter.GetBytes(ch);
         retval += String.Format("{0:X2} {1:X2} ", bytes[1], bytes[0]);     
      }
      return retval;
   } 
}
// The example displays the following output:
//    file:
//        Invariant:    FILE               00 46 00 49 00 4C 00 45 
//            en-US:    FILE               00 46 00 49 00 4C 00 45 
//            tr-TR:    FİLE               00 46 01 30 00 4C 00 45 
//    
//    sıfır:
//        Invariant:   SıFıR         00 53 01 31 00 46 01 31 00 52 
//            en-US:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//            tr-TR:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//    
//    Dženana:
//        Invariant:  DžENANA   01 C5 00 45 00 4E 00 41 00 4E 00 41 
//            en-US:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 
//            tr-TR:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 


s1wwdcbf.collapse_all(ko-kr,VS.110).gif구문 분석 및 서식 지정

형식 지정과 구문 분석은 역순으로 진행됩니다. 형식 지정 규칙에서는 날짜 및 시간 또는 숫자와 같은 값을 문자열 표현으로 변환하는 방법을 결정하고, 구문 분석 규칙에서는 문자열 표현을 날짜 및 시간과 같은 값으로 변환하는 방법을 결정합니다. 서식 및 구문 분석 규칙 모두 문화권 규칙에 종속됩니다. 다음 예제에서는 문화권 관련 날짜 문자열을 해석할 때 발생할 수 있는 모호성을 보여 줍니다. 날짜 문자열을 생성하는 데 사용한 문화권을 모르면 03/01/2011, 3/1/2011 및 01/03/2011이 2011년 1월 3일 또는 2011년 3월 1일을 나타내는지 여부를 알 수 없습니다.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2011, 3, 1);
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };

      foreach (var culture in cultures)
         Console.WriteLine("{0,-12} {1}", String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.ToString("d", culture));                                    
   }
}
// The example displays the following output:
//       Invariant    03/01/2011
//       en-US        3/1/2011
//       fr-FR        01/03/2011


마찬가지로, 다음 예제와 같이 규칙이 구문 분석에 사용되는 문화권에 따라 단일 문자열에서 다른 날짜를 만들 수 있습니다.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString = "07/10/2011";
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 CultureInfo.CreateSpecificCulture("en-GB"), 
                                 CultureInfo.CreateSpecificCulture("en-US") };
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}\n", "Date String", "Culture", 
                                                 "Month", "Day");
      foreach (var culture in cultures) {
         DateTime date = DateTime.Parse(dateString, culture);
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.Month, date.Day);
      }                      
   }
}
// The example displays the following output:
//       Date String     Culture    Month      Day
//       
//       07/10/2011    Invariant        7       10
//       07/10/2011        en-GB       10        7
//       07/10/2011        en-US        7       10


s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 비교 및 정렬

문자열 정렬 및 비교 규칙 culture 마다 다릅니다. 예를 들어, 정렬 순서 또는 문자의 시각적 윗주에 기반 할 수 있습니다. 동아시아 언어에서는, 표의 문자의 부수와 획에 따라 정렬됩니다. 정렬도 알파벳을 사용하는 문화권과 언어에 달려있습니다. 예를 들어, 덴마크어 알파벳의 "Æ" 문자는 "Z" 다음에 옵니다. 또한 비교는 대 / 소문자를 수 있습니다 및 경우에 따라 대/소문자 규칙 다 문화권에서. 반면, 서 수 비교를 문자열로 문자열 정렬 및 비교 하는 경우 개별 문자의 유니코드 코드 포인트를 사용 합니다.

정렬 규칙에서는 유니코드 문자의 알파벳 순서 및 두 문자열을 서로 비교하는 방법을 결정합니다. 예를 들어, String.Compare(String, String, StringComparison) 메서드는 StringComparison 매개 변수를 기반으로 두 문자열을 비교합니다. 매개 변수 값이 StringComparison.CurrentCulture인 경우 메서드는 현재 문화권의 규칙을 사용하는 언어적 비교를 수행하고 매개 변수 값이 StringComparison.Ordinal인 경우 메서드는 서수 비교를 수행합니다. 따라서, 다음 예제에서는 보이는 것처럼, 현재 문화권이 미국인 경우, String.Compare(String, String, StringComparison) 메서드를 처음 호출하는 것(문화권 구분 비교를 사용하여) 은 "A" 보다 "a"가 더 적은 것으로 간주하지만, 같은 메서드를 두번째로 호출하면(원래 비교를 사용하여) "A" 보다 "a" 가 더 큰것으로 간주합니다.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture));
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       1
//       -32


.NET Framework에서는 단어, 문자열 및 서수 정렬 규칙을 지원합니다.

  • 단어 정렬에서는 문화권에 따라 문자열을 비교합니다. 문자열에서 특정한 비영숫자 유니코드 문자에는 특별한 가중치가 할당될 수 있습니다. 예를 들면, 하이픈("-")에는 매우 적은 가중치가 할당될 수 있으므로 "coop"와 "co-op"는 정렬된 목록에서 서로 붙어있을 수 있습니다. 단어 정렬 규칙을 사용하여 두 문자열을 비교하는 String 메서드 목록에 대해서는 카테고리로 문자열 작업 섹션을 참고하세요.

  • 문자열 정렬에서는 문화권 구분 비교도 수행합니다. 문자열 정렬에는 특수한 경우가 없으며 모든 비영숫자 기호가 모든 영숫자 유니코드 문자 전에 나온다는 점을 제외하면 단어 정렬과 비슷합니다. 두 문자열은 CompareOptions.StringSort의 값을 제공하는 options 매개 변수가 있는 CompareInfo.Compare 메서드 오버로드를 호출함으로써 문자열 정렬 규칙을 사용하여 비교할 수 있습니다. .NET Framework에서 문자열 정렬 규칙을 사용하여 두 문자열을 비교하는 데 제공하는 유일한 메서드입니다.

  • 서수 정렬에서는 문자열에 있는 Char 개체 각각의 숫자 값을 기준으로 문자열을 비교합니다. 소문자 버전과 대문자 버전의 문자는 코드 포인트가 서로 다르므로 서수 비교에서는 자동으로 대/소문자가 구분됩니다. 그러나 대/소문자가 중요하지 않은 경우에는 대/소문자를 무시하는 서수 비교를 지정할 수 있습니다. 이는 고정 문화권을 사용하여 문자열을 대문자로 변환한 다음 해당 결과에 대해 서수 비교를 수행하는 것과 같습니다. 서수 정렬 규칙을 사용하여 두 문자열을 비교하는 String 메서드 목록에 대해서는 카테고리로 문자열 작업 섹션을 참고하세요.

문화권 구분 비교는 CultureInfo.InvariantCulture 속성으로 지정된 고정 문화권을 비롯하여 CultureInfo 개체를 명시적 또는 암시적으로 사용하는 비교입니다. 암시적 문화권은 Thread.CurrentCultureCultureInfo.CurrentCulture 속성으로 지정되는 현재 문화권입니다. 문화권에서 알파벳 문자의 정렬 순서에서 상당한 변화가 있습니다. (즉, Char.IsLetter 속성이 true 반환하는 문자들.) Compare(String, String, CultureInfo, CompareOptions) 와 같이 문자열 비교 메서드에 대한 CultureInfo 개체를 제공하여 특정 문화권의 규칙을 사용하는 문화권 구분비교를 지정할 수 있습니다. Compare 메서드의 적합한 오버로드로 CompareOptions.OrdinalIgnoreCase 또는 CompareOptions.Ordinal 보다 다른 CompareOptions 열거형의 어떤 멤버, 또는 StringComparison.CurrentCultureIgnoreCase, StringComparison.CurrentCulture 를 제공하여 현재 문화권의 규칙을 사용하는 문화권 구분 비교를 지정할 수 있습니다. 정렬에서는 일반적으로 서수 비교가 아니라 문화권 구분 비교가 적절합니다. 또한 두 개의 문자열이 같은지 여부, 즉 동일성을 확인하는 데는 대개 문화권 구분 비교가 아니라 서수 비교가 적절합니다.

다음 예제는 서 수 및 문화권 구분 비교 사이의 차이점을 보여줍니다. 세 문자열, "Apple", "æ b l e"과 "AEble", DA-DK 및 EN-US 문화권 규칙을 사용 하 여 계산 (시 기본 culture가 각각는 Compare 메서드는), 서 수 비교와. 덴마크어에서는 문자 "Æ"가 개별 문자로 취급 알파벳에서 "Z" 뒤에 정렬 하기 때문에 문자열 "æ b l e" "Apple" 보다 큽니다. 그러나 "æ b l e" 간주 되지 않습니다 "AEble" 동등한 "æ b l e"이 "AEble" 보다도. EN-US 문화권에 Æ 문자가 없습니다 하지만 동등한 "AE" 이유 "æ b l e"이 "Apple" 보다 작지만 "AEble"와 같은 설명이 있는으로 간주 합니다. 서 수 비교는 반면에 "Apple" 보다 "æ b l e"을 고려 하 고 "æ b l e" ttto "AEble" 보다 클 수 있습니다.


using System;
using System.Globalization;
using System.Threading;

public class CompareStringSample
{
   public static void Main()
   {
      string str1 = "Apple";
      string str2 = "Æble"; 
      string str3 = "AEble";

      // Set the current culture to Danish in Denmark.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Set the current culture to English in the U.S.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Perform an ordinal comparison.
      Console.WriteLine("Ordinal comparison");
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, 
                        String.Compare(str1, str2, StringComparison.Ordinal));
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, 
                        String.Compare(str2, str3, StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       Current culture: da-DK
//       Comparison of Apple with Æble: -1
//       Comparison of Æble with AEble: 1
//       
//       Current culture: en-US
//       Comparison of Apple with Æble: 1
//       Comparison of Æble with AEble: 0
//       
//       Ordinal comparison
//       Comparison of Apple with Æble: -133
//       Comparison of Æble with AEble: 133


적절한 정렬 또는 문자열 비교 방법을 선택하려면 다음과 같은 일반적인 지침을 따르세요.

  • 만일 사용자의 문화권에 따라 순서를 지정하는 문자열의 경우, 현재 문화권의 규칙에 따라야 합니다. 만일 사용자의 문화권이 변경 될 경우, 정렬된 문자열 순서 또한 적절하게 변경됩니다. 예를 들어, 동의어 사전 응용 프로그램은 항상 사용자의 문화권에 따라 단어를 정렬해야합니다.

  • 만일 특정 문화권의 규칙에 따라 배열된 문자열을 원하면, 비교 메서드로 문화권을 나타내는 CultureInfo 개체를 제공하여 그들을 정렬해야 합니다. 예를 들어, 특정 언어를 배우도록 설계된 응용 프로그램에서, 언어에 대한 문화권 하나의 규칙을 기반으로 순서를 지정하는 문자열이 필요합니다.

  • 만일 문화권에대해 변화지 않고 남아있는 문자열의 순서가 필요한 경우, 서수 비교를 사용하거나 고정 문화권의 규칙을 기반으로 그들의 순서를 정해야합니다. 예를 들어, 구성 파일, 프로세스, 뮤텍스의 이름 또는 명명된 파이프들에 서수 정령을 사용합니다.

  • 보안 결정(사용자 이름이 유효한지와 같은)을 포함하는 비교를 위해, 항상 Equals 메서드의 오버로드를 호출하여 동일함에 대해 서수 테스트를 수행해야합니다.

참고참고

문자열 비교에 사용된 문화권 비교 정렬 및 대/소문자 구분 규칙은 .NET Framework 버전에 따라 다릅니다. Windows 8 운영체제에 .NET Framework 4.5 에서는 정렬, 대/소문자 구분, 정규화 및 유니코드 문자 정보는 유니코드 6.0 표준을 따릅니다. 다른 운영 체제에서, 이것은 유니코드 5.0 표준을 준수합니다.

단어, 문자열 및 서수 정렬 규칙에 대한 자세한 내용은 System.Globalization.CompareOptions를 참조하십시오. 각 규칙 사용 시기에 대한 추가적인 권장 사항은 .NET Framework에서 문자열 사용에 대한 유용한 정보를 참조하십시오.

일반적으로는 문자열의 정렬 순서를 결정하기 위해 Compare와 같은 문자열 비교 메서드를 직접 호출하지 않습니다. 대신 비교 메서드는 Array.Sort 또는 List<T>.Sort 같은 정렬 메서드로 호출됩니다. 다음 예제에서는 정렬을 사용 하는 비교의 형식 지정을 수행 하는 있지만 문자열 비교 메서드를 명시적으로 호출 하지 않고 네 가지 정렬 작업 (현재 문화권, 고정 문화권을 사용한 단어 정렬, 서 수 정렬 및 고정 문화권을 사용한 문자열 정렬을 사용한 단어 정렬)을 수행 합니다. 각 정렬 형식은 배열에서 문자열의 고유한 순서를 생성합니다.


using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] strings = { "coop", "co-op", "cooperative", 
                           "co\u00ADoperative", "cœur", "coeur" };

      // Perform a word sort using the current (en-US) culture.
      string[] current = new string[strings.Length]; 
      strings.CopyTo(current, 0); 
      Array.Sort(current, StringComparer.CurrentCulture);

      // Perform a word sort using the invariant culture.
      string[] invariant = new string[strings.Length];
      strings.CopyTo(invariant, 0); 
      Array.Sort(invariant, StringComparer.InvariantCulture);

      // Perform an ordinal sort.
      string[] ordinal = new string[strings.Length];
      strings.CopyTo(ordinal, 0); 
      Array.Sort(ordinal, StringComparer.Ordinal);

      // Perform a string sort using the current culture.
      string[] stringSort = new string[strings.Length];
      strings.CopyTo(stringSort, 0); 
      Array.Sort(stringSort, new SCompare());

      // Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}\n", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort");
      for (int ctr = 0; ctr < strings.Length; ctr++)
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings[ctr], current[ctr], invariant[ctr], 
                           ordinal[ctr], stringSort[ctr] );          
   }
}

// IComparer<String> implementation to perform string sort.
internal class SCompare : IComparer<String>
{
   public int Compare(string x, string y)
   {
      return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort);
   }
}
// The example displays the following output:
//         Original     Word Sort  Invariant Word  Ordinal Sort   String Sort
//    
//             coop          cœur            cœur         co-op         co-op
//            co-op         coeur           coeur         coeur          cœur
//      cooperative          coop            coop          coop         coeur
//     co­operative         co-op           co-op   cooperative          coop
//             cœur   cooperative     cooperative  co­operative   cooperative
//            coeur  co­operative    co­operative          cœur  co­operative


팁

내부적으로.net Framework 정렬 키를 사용 하 여 문화권 구분 문자열 비교를 지원 합니다. 문자열의 각 문자에는 스크립트, 사전순, 대/소문자 및 분음, 부호를 포함하여 여러 범주의 정렬 가중치가 적용됩니다. 정렬 키를 나타내는 해당 SortKey 클래스, 특정 문자열에 대해 이러한 가중치의 리포지토리를 제공 합니다. 많은 검색 이나 정렬 문자열의 동일한 세트에서 작업을 실행 하는 응용 프로그램 생성 하 고 사용 하는 모든 문자열에 대 한 정렬 키를 저장 하 여 성능을 향상 시킬 수 있습니다. 정렬 이나 비교 작업을 수행 해야 하는 경우 문자열 대신 정렬 키를 사용 합니다. 자세한 내용은 SortKey 클래스를 참조하십시오.

문자열 비교 규칙을 지정 하지 않으면, 같은 정렬 메서드로 Array.Sort(Array) 문자열에 대해 문화권 구분, 대/소문자 구분 정렬을 수행 합니다. 다음 예제에서는 현재 문화권을 변경 순서 정렬 된 문자열 배열에 미치는 영향을 보여 줍니다. 세 문자열의 배열이 만들어집니다. 우선, System.Threading.Thread.CurrentThread.CurrentCulture 속성을 "en-US"로 설정하고 Array.Sort(Array) 메서드를 호출합니다. 결과 정렬 순서는 영어(미국) 문화권의 정렬 규칙을 따릅니다. 다음, 예제는 System.Threading.Thread.CurrentThread.CurrentCulture 속성을 da-DK로 설정하고 Array.Sort 메서드를 다시 호출합니다. da-DK정렬 규칙을 사용하는 경우의 결과와 en-US정렬 규칙을 사용하는 경우의 결과의 정렬 순서가 어떻게 다른지 확인해봅니다.


using System;
using System.Globalization;
using System.Threading;

public class ArraySort 
{
   public static void Main(String[] args) 
   {
      // Create and initialize a new array to store the strings.
      string[] stringArray = { "Apple", "Æble", "Zebra"};

      // Display the values of the array.
      Console.WriteLine( "The original string array:");
      PrintIndexAndValues(stringArray);

      // Set the CurrentCulture to "en-US".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Sort the values of the array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"en-US\":");
      PrintIndexAndValues(stringArray); 

      // Set the CurrentCulture to "da-DK".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      // Sort the values of the Array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"da-DK\":");
      PrintIndexAndValues(stringArray); 
   }
   public static void PrintIndexAndValues(string[] myArray)  
   {
      for (int i = myArray.GetLowerBound(0); i <= 
            myArray.GetUpperBound(0); i++ )
         Console.WriteLine("[{0}]: {1}", i, myArray[i]);
      Console.WriteLine();      
   }
}
// The example displays the following output:
//       The original string array:
//       [0]: Apple
//       [1]: Æble
//       [2]: Zebra
//       
//       After sorting for the "en-US" culture:
//       [0]: Æble
//       [1]: Apple
//       [2]: Zebra
//       
//       After sorting for the culture "da-DK":
//       [0]: Apple
//       [1]: Zebra
//       [2]: Æble


주의 정보주의

문자열을 비교하는 주 목적이 두 문자열이 동일한지 여부를 확인하려는 것인 경우 String.Equals 메서드를 호출해야 합니다. 일반적으로 Equals를 사용하여 서수 비교를 수행합니다. String.Compare 메서드는 주로 문자열을 정렬하는 데 사용됩니다.

String.StartsWith , String.IndexOf 등의 문자열 검색 메서드도 문화권을 구분하는 비교 또는 서수 문자열 비교를 수행할 수 있습니다. 다음 예제에서는 IndexOf 메서드를 사용하여 서수 비교와 문화권을 구분하는 비교 사이의 차이점을 보여 줍니다. 현재 문화권이 영어(미국)인 문화권 구분 검색에서는 부분 문자열 "oe"를 합자 "œ"와 일치하는 것으로 고려합니다. 사용자 지정 하이픈(U+00AD)은 너비가 0인 문자이므로 사용자 지정 하이픈은 검색 시 Empty와 동일한 것으로 취급되고 문자열의 맨 앞에서 일치하는 항목을 찾습니다. 반면에, 서수 검색으로 어떠한 경우이든 일치를 찾지 못합니다.


using System;

public class Example
{
   public static void Main()
   {
      // Search for "oe" and "œu" in "œufs" and "oeufs".
      string s1 = "œufs";
      string s2 = "oeufs";
      FindInString(s1, "oe", StringComparison.CurrentCulture);
      FindInString(s1, "oe", StringComparison.Ordinal);
      FindInString(s2, "œu", StringComparison.CurrentCulture);
      FindInString(s2, "œu", StringComparison.Ordinal);
      Console.WriteLine();

      string s3 = "co\u00ADoperative";
      FindInString(s3, "\u00AD", StringComparison.CurrentCulture);
      FindInString(s3, "\u00AD", StringComparison.Ordinal);
   }

   private static void FindInString(string s, string substring, StringComparison options)
   {
      int result = s.IndexOf(substring, options);
      if (result != -1)
         Console.WriteLine("'{0}' found in {1} at position {2}", 
                           substring, s, result);
      else
         Console.WriteLine("'{0}' not found in {1}", 
                           substring, s);                                                  
   }
}
// The example displays the following output:
//       'oe' found in œufs at position 0
//       'oe' not found in œufs
//       'œu' found in oeufs at position 0
//       'œu' not found in oeufs
//       
//       '­' found in co­operative at position 0
//       '­' found in co­operative at position 2


s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 검색

검색 방법으로 같은 문자열을 String.StartsWithString.IndexOf, 문화권별으로도 수행할 수 또는 지정된 된 문자열에서 문자나 하위 문자열이 있는지 여부를 확인 하는 서 수 문자열 비교를 찾을 수 있습니다.

검색 메서드를 사용 하는 문자 또는 문자열의 문자 집합 중 하나를 검색 하거나 문자열에서 부분 문자열을 검색 합니다. 검색 방법에는 String 클래스와 같은 개별 문자를 검색 하는 IndexOf 메서드 또는 문자 집합 중 하 나와 같은 IndexOfAny 메서드를 모든 서 수 검색을 수행. 문자에 대 한 문화권 구분 검색을 수행 하려면 한 CompareInfo 메서드와 같은 CompareInfo.IndexOf(String, Char) 또는 CompareInfo.LastIndexOf(String, Char). 참고 서 수 및 문화권 구분 비교를 사용 하는 문자에 대 한 검색의 결과 매우 달라질 수 있습니다. 미리 구성 된 유니코드 문자 같은 합자 "Æ" (U + 00 C 6)를 검색 "AE"와 같이 올바른 시퀀스의 구성 요소로 사건을 일치 시킵니다 수 있습니다 예를 들어, (U + 041U + 0045) 문화권에 따라. 다음 예제에서는 사이의 차이 String.IndexOf(Char)CompareInfo.IndexOf(String, Char) 메서드는 개별 문자를 검색할 때. 합자 "æ" (U + 00E6) 발견 되는 문자열에서 "항공 사진을 모두 표시" EN-US 문화권의 규칙을 사용 하는 경우 있지만 하지 DA-DK 문화권 규칙을 사용 하는 경우 또는 서 수 비교를 수행 하는 경우.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "da-DK", "en-US" };
      CompareInfo ci;
      String str = "aerial";
      Char ch = 'æ';  // U+00E6

      Console.Write("Ordinal comparison -- ");
      Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                        str.IndexOf(ch));

      foreach (var cultureName in cultureNames) {
         ci = CultureInfo.CreateSpecificCulture(cultureName).CompareInfo;
         Console.Write("{0} cultural comparison -- ", cultureName);
         Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                           ci.IndexOf(str, ch));
      }
   }
}
// The example displays the following output:
//       Ordinal comparison -- Position of 'æ' in aerial: -1
//       da-DK cultural comparison -- Position of 'æ' in aerial: -1
//       en-US cultural comparison -- Position of 'æ' in aerial: 0


반면에 String 검색할 문자가 아니라 문자열 검색 옵션 매개 변수 형식으로 명시적으로 지정 하지 않은 경우 문화권 구분 검색을 수행 하는 메서드를 클래스 StringComparison. 유일한 예외는 Contains를 하는 서 수 검색을 수행 합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif동일함 테스트

String.Compare 메서드를 사용하여 정렬 순서에서 두 문자열의 관계를 확인합니다. 일반적으로 이것은 문화권을 구분하는 작업입니다. 이와 달리 같음 여부 테스트를 위해 String.Equals 메서드를 호출합니다. 같음 테스트에서는 일반적으로 사용자 입력과 유효한 사용자 이름, 암호, 파일 시스템 경로와 같이 몇 가지 알려진 문자열을 비교하므로 보통은 서수적 연산입니다.

주의 정보주의

String.Compare 메서드를 호출하고 반환 값이 0인지를 확인하여 같음 여부를 테스트할 수 있습니다. 그러나 이 방법은 사용하지 않는 것이 좋습니다. 두 문자열이 동일한지 확인하려면 String.Equals 메서드의 오버로드 중 하나를 호출해야 합니다. 호출할 기본 오버로드는 인스턴스 Equals(String, StringComparison) 메서드 또는 정적 Equals(String, String, StringComparison) 메서드입니다 그 이유는 두 메서드 모두 비교 형식을 명시적으로 지정하는 System.StringComparison 매개 변수를 포함하기 때문입니다.

다음 예제에서는 같음에 대해 서수 비교를 수행해야 하는 경우에 대신 문화권 구분 비교를 수행하는 경우의 위험성을 보여 줍니다. 이 경우 문자열 "FILE://"이 포함된 URL의 앞 부분을 대/소문자 구분 없이 비교하여 "FILE://" 또는 "file://"로 시작하는 URL에서 파일 시스템에 액세스하는 것을 방지하는 것이 코드의 의도입니다. 그러나 소문자 "i"에 해당하는 터키어 대문자는 "I"가 아닌 "i"이기 때문에 "file://"로 시작하는 URL에 터키어(터키) 문화권을 사용하여 문화권 구분 비교를 수행하면 같음 비교가 실패합니다. 결과적으로, 파일 시스템 액세스가 실수로 허용됩니다. 반면, 서수 비교를 수행하고 같음 비교가 성공할 경우 파일 시스템 액세스가 부인됩니다.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR");      

      string filePath = "file://c:/notes.txt";

      Console.WriteLine("Culture-sensitive test for equality:");
      if (! TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);

      Console.WriteLine("\nOrdinal test for equality:");
      if (! TestForEquality(filePath, StringComparison.OrdinalIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);
   }

   private static bool TestForEquality(string str, StringComparison cmp)
   {
      int position = str.IndexOf("://");
      if (position < 0) return false;

      string substring = str.Substring(0, position);  
      return substring.Equals("FILE", cmp);
   }
}
// The example displays the following output:
//       Culture-sensitive test for equality:
//       Access to file://c:/notes.txt is allowed.
//       
//       Ordinal test for equality:
//       Access to file://c:/notes.txt is not allowed.


정규화

일부 유니코드 문자에는 여러 가지 표현이 있습니다. 예를 들어, 다음 코드 포인트는 문자 "ắ"를 나타낼 수 있습니다.

  • U+1EAF

  • U+0103 U+0301

  • U+0061 U+0306 U+0301

단일 문자가 여러 가지로 표현될 수 있으므로 검색, 정렬, 비교 및 기타 작업이 복잡해집니다.

유니코드 표준에서는 동일한 이진 표현 중 어느 것을 전달해도 단일 이진 표현의 유니코드 문자를 반환하는 정규화라는 프로세스를 정의합니다. 정규화에는 각각 다른 규칙을 따르는 정규화 형식이라는 몇 가지 알고리즘이 사용됩니다. 현재 .NET Framework에서는 유니코드 정규화 형식 C, D, KC 및 KD를 지원합니다. 문자열이 동일한 정규화 폼으로 정규화되면 서수 비교를 사용하여 비교할 수 있습니다.

서수 비교는 각 문자열에서 Char 개체에 일치하는 유니코드 스칼라 값의 이진 비교입니다. String 클래스는 다음을 포함하는 서수 비교를 수행할 수 있는 메서드를 포함합니다.

String.IsNormalized() 메서드를 호출하여 문자열을 정규화 형식 C로 정규화할지 여부를 확인하거나 String.IsNormalized(NormalizationForm) 메서드를 호출하여 지정된 정규화 형식으로 정규화할지 여부를 확인할 수 있습니다. 또한 String.Normalize() 메서드를 호출하여 문자열을 정규화 형식 C로 변환하거나 String.Normalize(NormalizationForm) 메서드를 호출하여 문자열을 지정된 정규화 형식으로 변환할 수도 있습니다. 표준화 및 문자열 비교에 대한 단계별 정보는, Normalize()Normalize(NormalizationForm) 메서드를 참고하세요.

다음 간단한 예제에서는 문자열 정규화를 보여 줍니다. 세 가지 방법 및 세 가지 문자열로 문자 "ố"를 정의하고 같음 여부에 대해 서수 비교를 사용하여 각 문자열이 나머지 두 문자와 다른지를 판단합니다. 그런 다음 각 문자열을 지원되는 정규화 양식으로 변환하고 지정된 정규화 양식의 각 문자열의 서수 비교를 수행합니다. 각각의 경우 두 번째 같음 여부 테스트는 문자열이 동일하다는 것을 보여줍니다.


using System;
using System.Globalization;
using System.IO;
using System.Text;

public class Example
{
   private static StreamWriter sw;

   public static void Main()
   {
      sw = new StreamWriter(@".\TestNorm1.txt");

      // Define three versions of the same word. 
      string s1 = "sống";        // create word with U+1ED1
      string s2 = "s\u00F4\u0301ng";
      string s3 = "so\u0302\u0301ng";

      TestForEquality(s1, s2, s3);      
      sw.WriteLine();

      // Normalize and compare strings using each normalization form.
      foreach (string formName in Enum.GetNames(typeof(NormalizationForm)))
      {
         sw.WriteLine("Normalization {0}:\n", formName); 
         NormalizationForm nf = (NormalizationForm) Enum.Parse(typeof(NormalizationForm), formName);
         string[] sn = NormalizeStrings(nf, s1, s2, s3);
         TestForEquality(sn);           
         sw.WriteLine("\n");                                        
      }

      sw.Close();   
   }

   private static void TestForEquality(params string[] words)
   {
      for (int ctr = 0; ctr <= words.Length - 2; ctr++)
         for (int ctr2 = ctr + 1; ctr2 <= words.Length - 1; ctr2++) 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words[ctr], ShowBytes(words[ctr]),
                         words[ctr2], ShowBytes(words[ctr2]),
                         words[ctr].Equals(words[ctr2], StringComparison.Ordinal));
   }

   private static string ShowBytes(string str)
   {
      string result = null;
      foreach (var ch in str)
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")); 
      return result.Trim();            
   } 

   private static string[] NormalizeStrings(NormalizationForm nf, params string[] words)
   {
      for (int ctr = 0; ctr < words.Length; ctr++)
         if (! words[ctr].IsNormalized(nf))
            words[ctr] = words[ctr].Normalize(nf); 
      return words;   
   }
}
// The example displays the following output:
//       sống (0073 1ED1 006E 0067) = sống (0073 00F4 0301 006E 0067): False
//       sống (0073 1ED1 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       sống (0073 00F4 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       
//       Normalization FormC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       
//       
//       Normalization FormKC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormKD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True


표준화 및 정규화 형식에 대한 자세한 내용은, System.Text.NormalizationForm, 유니코드 표준 부록 #15: 유니코드 정규화 형식정규화 FAQ 를 참고하세요.

범주별 문자열 작업

String 클래스는 문자열을 비교하고, 문자열의 같음을 비교하고, 문자열에서 문자 또는 하위 문자열을 찾고, 문자열을 수정하고, 문자열에서 하위 문자열을 추출하고, 문자열을 결합하고, 값의 서식을 지정하고 문자열을 복사하고 문자열을 정규화하는 멤버를 제공합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 비교

문자열을 비교한 후 다음 String 메서드를 사용하여 정렬 순서에서 상대적인 위치를 확인할 수 있습니다.

  • Compare 는 정렬 순서에서 한 문자열과 다른 문자열의 관계를 나타내는 정수를 반환합니다.

  • CompareOrdinal 은 한 문자열과 다른 문자열의 코드 포인트 비교에 기초하여 두 문자열 간의 관계를 나타내는 정수를 반환합니다.

  • CompareTo 는 정렬 순서에서 현재 문자열 인스턴스와 다른 문자열의 관계를 나타내는 정수를 반환합니다. CompareTo(String) 메서드는 String 클래스의 IComparableIComparable<T> 구현을 제공합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 동일함 여부 테스트

두 문자열이 같은지를 확인하려면 Equals 메서드를 호출합니다. 인스턴스 Equals(String, String, StringComparison) 및 정적 Equals(String, StringComparison) 오버로드를 사용하면 비교에서 문화권을 구분하는지 또는 서수 비교인지와 대/소문자를 구분할지 또는 무시할지를 지정할 수 있습니다. 대부분의 같음 테스트는 서수이며, 시스템 리소스(예: 파일 시스템 개체)에 대한 액세스를 결정하는 같음 비교는 항상 서수여야 합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열에서 문자 찾기

String 클래스는 두 종류의 검색 메서드를 포함합니다.

  • 특정 부분 문자열이 문자열 인스턴스에 있는지를 나타내는 Boolean 값을 반환하는 메서드입니다. 예를 들면 Contains, EndsWithStartsWith 메서드 등이 여기에 해당합니다.

  • 문자열 인스턴스에서 부분 문자열의 시작 위치를 나타내는 메서드입니다. 예를 들면 IndexOf, IndexOfAny, LastIndexOfLastIndexOfAny 메서드 등이 여기에 해당합니다.

주의 정보주의

특정 문자열이 아닌 특정 패턴에 대한 문자열을 검색 하려면, 정규식을 사용해야 합니다. 자세한 내용은 .NET Framework 정규식을 참조하십시오.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 수정

String 클래스는 문자열의 값을 수정하는 다음 메서드를 포함하고 있습니다.

  • Insert 는 문자열을 현재 String 인스턴스에 삽입합니다.

  • PadLeft 는 문자열의 맨 앞에 지정된 문자를 하나 이상 삽입합니다.

  • PadRight 는 문자열의 맨 앞에 지정된 문자를 하나 이상 삽입합니다.

  • Remove 는 현재 String 인스턴스에서 부분 문자열을 삭제합니다.

  • Replace 는 부분 문자열을 현재 String 인스턴스에 있는 다른 문자열로 대체합니다.

  • ToLower ToLowerInvariant는 문자열에 있는 모든 문자를 소문자로 변환합니다.

  • ToUpper ToUpperInvariant는 문자열에 있는 모든 문자를 대문자로 변환합니다.

  • Trim 은 문자열의 처음과 끝에서 모든 문자를 제거합니다.

  • TrimEnd 는 문자열의 끝에서 모든 문자를 제거합니다.

  • TrimStart 는 문자열의 시작에서 모든 문자를 제거합니다.

중요중요

모든 문자열 수정 메서드가 새로운 String 개체를 반환합니다. 현재 인스턴스의 값을 수정하지 않습니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열에서 부분 문자열을 추출

String.Split 메서드는 단일 문자열을 여러 문자열로 구분합니다. 메서드 오버로드를 사용하면 복수 구분 기호를 지정하고, 메서드가 추출하는 부분 문자열의 최대 수를 결정하고, 반환된 문자열에 빈 문자열(구분 문자가 인접해 있을 때 발생)이 포함되는지 여부를 결정할 수 있습니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 비교

다음 String 메서드는 문자열 연결에 사용할 수 있습니다:

  • Concat 는 하나 이상의 부분 문자열을 단일 문자열로 결합합니다.

  • Join 은 하나 이상의 부분 문자열을 단일 요소로 연결하고 각 부분 분사열 사이에 구분 기호를 추가합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif값 형식 지정

String.Format 메서드는 합성 서식 지정 기능을 사용하여 문자열에서 하나 이상의 자리 표시자를 일부 개체 또는 값의 문자열 표현으로 바꿉니다. Format 메서드를 사용하여 종종 다음을 수행할 수 있습니다.

  • 문자열에 숫자 값의 문자열 표현을 포함합니다.

  • 문자열에 날짜 및 시간 값의 문자열 표현을 포함합니다.

  • 문자열에 열거형 값의 문자열 표현을 포함합니다.

  • 문자열에 IFormattable 인터페이스를 지원하는 일부 개체의 문자열 표현을 포함합니다.

  • 더 큰 문자열 내의 필드에 부분 문자열을 오른쪽 맞춤 또는 왼쪽 맞춤합니다.

작업과 예제에 대한 자세한 내용은, Format 오버로드 요약을 참고하세요.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 복사

다음 String 메서드를 호출하여 문자열을 복사할 수 있습니다.

  • Clone 은 기존 String개체에 대한 참조를 반환합니다.

  • Copy 는 기존 문자열의 사본을 만듭니다.

  • CopyTo 는 문자열 일부를 문자 배열로 복사합니다.

s1wwdcbf.collapse_all(ko-kr,VS.110).gif문자열 정규화

유니코드에서는 단일 문자가 여러 코드 포인트를 가질 수 있습니다. 정규화는 이러한 동등한 문자를 동일한 이진 표현으로 변환합니다. String.Normalize 메서드는 정규화를 수행하고 String.IsNormalized 메서드는 문자열이 정규화되었는지 여부를 확인합니다.

.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식은 스레드로부터 안전합니다.

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

표시:
© 2014 Microsoft