이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Char 구조체

 

게시 날짜: 2016년 7월

UTF-16 코드 단위인 문자를 나타냅니다.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Char : IComparable, IConvertible, IComparable<char>, 
	IEquatable<char>

이름설명
System_CAPS_pubmethodCompareTo(Char)

이 인스턴스를 지정된 Char 개체와 비교하고 정렬 순서에서 이 인스턴스의 위치가 지정된 Char 개체보다 앞인지, 뒤인지 또는 동일한지를 나타냅니다.

System_CAPS_pubmethodCompareTo(Object)

이 인스턴스를 지정된 개체와 비교하고 정렬 순서에서 이 인스턴스의 위치가 지정된 Object 개체보다 앞인지, 뒤인지 또는 동일한지를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticConvertFromUtf32(Int32)

지정된 유니코드 코드 포인트를 UTF-16으로 인코딩된 문자열로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticConvertToUtf32(Char, Char)

UTF-16으로 인코딩된 서로게이트 쌍의 값을 유니코드 코드 포인트로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticConvertToUtf32(String, Int32)

문자열의 지정한 위치에 있는 UTF-16으로 인코딩된 문자 또는 서로게이트 쌍의 값을 유니코드 코드 포인트로 변환합니다.

System_CAPS_pubmethodEquals(Char)

이 인스턴스가 지정된 Char 개체와 같은지 여부를 나타내는 값을 반환합니다.

System_CAPS_pubmethodEquals(Object)

@FSHO2@이 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.(ValueType.Equals(Object)을(를) 재정의함)

System_CAPS_pubmethodGetHashCode()

이 인스턴스의 해시 코드를 반환합니다.(ValueType.GetHashCode()을(를) 재정의함)

System_CAPS_pubmethodSystem_CAPS_staticGetNumericValue(Char)

숫자 형식의 유니코드 문자를 배정밀도 부동 소수점 숫자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticGetNumericValue(String, Int32)

지정된 문자열의 지정된 위치에 있는 숫자 형식의 유니코드 문자를 배정밀도 부동 소수점 숫자로 변환합니다.

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨)

System_CAPS_pubmethodGetTypeCode()

TypeCode 값 형식에 대한 Char를 반환합니다.

System_CAPS_pubmethodSystem_CAPS_staticGetUnicodeCategory(Char)

지정한 유니코드 문자를 UnicodeCategory 값 중 하나로 식별되는 그룹으로 분류합니다.

System_CAPS_pubmethodSystem_CAPS_staticGetUnicodeCategory(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자를 UnicodeCategory 값 중 하나로 식별되는 그룹으로 분류합니다.

System_CAPS_pubmethodSystem_CAPS_staticIsControl(Char)

지정된 유니코드 문자가 제어 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsControl(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 제어 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsDigit(Char)

유니코드 문자가 10진수인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsDigit(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 10진수인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsHighSurrogate(Char)

지정한 Char 개체가 high surrogate인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsHighSurrogate(String, Int32)

문자열의 지정한 위치에 있는 Char 개체가 high surrogate인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLetter(Char)

지정된 유니코드 문자가 유니코드 글자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLetter(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 유니코드 글자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLetterOrDigit(Char)

지정된 유니코드 문자가 글자나 10진수인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLetterOrDigit(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 글자나 10진수인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLower(Char)

유니코드 문자가 소문자 자모인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLower(String, Int32)

지정된 문자열의 지정된 위치에 있는 자모가 소문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLowSurrogate(Char)

지정한 Char 개체가 high surrogate인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsLowSurrogate(String, Int32)

문자열의 지정한 위치에 있는 Char 개체가 high surrogate인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsNumber(Char)

지정된 유니코드 문자가 숫자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsNumber(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 숫자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsPunctuation(Char)

유니코드 문자가 문장 부호인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsPunctuation(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 문장 부호인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSeparator(Char)

유니코드 문자가 구분 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSeparator(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 구분 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogate(Char)

지정된 문자에 서로게이트 코드 단위가 있는지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogate(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자에 서로게이트 코드 단위가 있는지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogatePair(Char, Char)

지정한 두 개의 Char 개체가 서로게이트 쌍을 형성하는지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogatePair(String, Int32)

문자열의 지정한 위치에 있는 두 개의 인접한 Char 개체가 서로게이트 쌍을 형성하는지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSymbol(Char)

유니코드 문자가 기호 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsSymbol(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 기호 문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsUpper(Char)

유니코드 자모가 대문자인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsUpper(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 대문자 자모인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsWhiteSpace(Char)

유니코드 문자가 공백인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticIsWhiteSpace(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 공백인지 여부를 나타냅니다.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

지정된 문자열의 값을 해당하는 유니코드 문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToLower(Char)

유니코드 문자를 해당하는 소문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToLower(Char, CultureInfo)

문화권별 형식 지정 정보를 사용하여 지정된 유니코드 문자의 값을 해당하는 소문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToLowerInvariant(Char)

고정 문화권의 대/소문자 규칙을 사용하여 유니코드 문자의 값을 해당하는 소문자로 변환합니다.

System_CAPS_pubmethodToString()

이 인스턴스의 값을 해당하는 문자열 표현으로 변환합니다.(ValueType.ToString()을(를) 재정의함)

System_CAPS_pubmethodSystem_CAPS_staticToString(Char)

지정된 유니코드 문자를 해당하는 문자열 표현으로 변환합니다.

System_CAPS_pubmethodToString(IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 이 인스턴스의 값을 해당 문자열 표현으로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUpper(Char)

유니코드 문자를 해당하는 대문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUpper(Char, CultureInfo)

문화권별 형식 지정 정보를 사용하여 지정된 유니코드 문자의 값을 해당하는 대문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticToUpperInvariant(Char)

고정 문화권의 대/소문자 규칙을 사용하여 유니코드 문자의 값을 해당하는 대문자로 변환합니다.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Char)

지정된 문자열의 값을 해당하는 유니코드 문자로 변환합니다. 반환 코드는 변환이 성공했는지 아니면 실패했는지를 나타냅니다.

이름설명
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Char의 가능한 최대값을 나타냅니다. 이 필드는 상수입니다.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Char의 최소값을 나타냅니다. 이 필드는 상수입니다.

이름설명
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 참고   이 변환은 지원되지 않습니다. 그렇게 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToByte를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToChar를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 참고   이 변환은 지원되지 않습니다. 그렇게 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 참고   이 변환은 지원되지 않습니다. 그렇게 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 참고   이 변환은 지원되지 않습니다. 그렇게 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt16를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt32를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToInt64를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToSByte를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 참고   이 변환은 지원되지 않습니다. 그렇게 하면 InvalidCastException이 throw됩니다.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToType를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToUInt16를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToUInt32를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 멤버에 대한 설명은 IConvertible.ToUInt64를 참조하세요.

.NET Framework 사용 하 여는 Char 구조 유니코드 문자를 나타냅니다. 유니코드 표준 코드 포인트 라고 하는 고유한 21 비트 스칼라 번호를 사용 하 여 각 유니코드 문자를 식별 하 고 코드 포인트 하나 이상의 16 비트 값의 시퀀스로 인코딩하는 방식을 지정 하는 utf-16 인코딩 폼을 정의 합니다. 각 16 비트 값에서 16 진수 0x0000 0xFFFF 범위이 고에 저장 되는 Char 구조입니다. 값을 Char 개체는 16 비트 숫자 (서 수) 값입니다.

다음 단원에서는 간의 관계를 검토 한 Char 개체와 문자 사용 하 여 수행할 몇 가지 일반적인 작업에 논의 Char 인스턴스.

Char 개체, 유니코드 문자 및 문자열
문자 및 문자 범주
문자 및 text 요소
일반 작업
Char 값 및 interop

A String 개체의 순차적인 컬렉션을는 Char 구조를 나타내는 텍스트 문자열입니다. 단일 대부분의 유니코드 문자를 나타낼 수 Char 서로게이트 쌍 및/또는 문자 시퀀스를 조합 여러 나타내는 기본 문자 인코딩된 문자를 제외한 개체 Char 개체입니다. 이러한 이유로 Char 구조는 String 개체는 단일 유니코드 문자를 반드시 동일 하지 않습니다.

여러 명의 16 비트 코드 단위는 다음과 같은 경우에 단일 유니코드 문자를 표시 하는 데 사용 됩니다.

  • 문자 다음에 하나 이상의 결합 문자는 기본 문자 또는 단일 문자으로 구성 될 수 있습니다. 문자 ä로 표현 되는 예를 들어 Char 개체 코드 단위는 U + a 0061 Char 인 코드 단위는 U + 0308 개체입니다. (Ä 단일 a에서 정의할 수도 있습니다 Char 개체 U + 00 e 4 인 a 코드 단위입니다.) 다음 예제에서는 두 개의 ä 구성 되어 있다고 Char 개체입니다.

    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter("chars1.txt");
          char[] chars = { '\u0061', '\u0308' };
          string strng = new String(chars);
          sw.WriteLine(strng); 
          sw.Close();
       }
    }
    // The example produces the following output:
    //       ä
    
  • 유니코드 Basic Multilingual Plane (BMP) 이외의 문자가 있습니다. 유니코드 16 개 평면을 평면 0을 나타내는 BMP 외에도 지원 합니다. 유니코드 코드 포인트는 u t F-32에는 평면을 포함 하는 21 비트 값으로 표시 됩니다. 예를 들어 U + 1D160 음악 기호 여덟 번째 참고 문자를 나타냅니다. 인코딩을 u t F-16을 16 비트만 사용 하므로 BMP 밖의 문자는 utf-16에서 서로게이트 쌍으로 표현 됩니다. 다음 예제에서는 U + 1D160, 음악 기호 여덟 번째 참고 문자에 해당 하는 u t F-32 U + D834 U + DD60 임을 보여 줍니다. U + D834가 상위 서로게이트입니다. U + d 800부터 U + DBFF 까지의 범위를 높은 서로게이트가입니다. U + DD60은 하위 서로게이트입니다. U + d c 00부터 U + DFFF 까지의 범위를 낮은 서로게이트가입니다.

    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\chars2.txt");
          int utf32 = 0x1D160;
          string surrogate = Char.ConvertFromUtf32(utf32);
          sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16", 
                       utf32, surrogate, ShowCodePoints(surrogate));
          sw.Close();                    
       }
    
       private static string ShowCodePoints(string value)
       {
          string retval = null;
          foreach (var ch in value)
             retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch));
    
          return retval.Trim();
       }
    }
    // The example produces the following output:
    //       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    

각 유니코드 문자 또는 유효한 서로게이트 쌍에는 유니코드 범주에 속합니다. .NET Framework 유니코드 범주의 구성원으로 표시 됩니다는 UnicodeCategory 열거와 같은 값이 포함 UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter, 및 UnicodeCategory.SpaceSeparator, 예를 들어 있습니다.

문자의 유니코드 범주를 확인 하려면 호출는 GetUnicodeCategory 메서드. 다음 예제에서는 호출 하는 예를 들어는 GetUnicodeCategory 문자열의 각 문자의 유니코드 범주를 표시 합니다.

using System;
using System.Globalization;

class Example
{
   public static void Main()
   {
      // Define a string with a variety of character categories.
      String s = "The car drove down the narrow, secluded road.";
      // Determine the category of each character.
      foreach (var ch in s)
         Console.WriteLine("'{0}': {1}", ch, Char.GetUnicodeCategory(ch)); 

   }
}
// The example displays the following output:
//      'T': UppercaseLetter
//      'h': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'r': LowercaseLetter
//      'e': LowercaseLetter
//      'd': LowercaseLetter
//      ' ': SpaceSeparator
//      'c': LowercaseLetter
//      'a': LowercaseLetter
//      'r': LowercaseLetter
//      ' ': SpaceSeparator
//      'd': LowercaseLetter
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'v': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'd': LowercaseLetter
//      'o': LowercaseLetter
//      'w': LowercaseLetter
//      'n': LowercaseLetter
//      ' ': SpaceSeparator
//      't': LowercaseLetter
//      'h': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'l': LowercaseLetter
//      'o': LowercaseLetter
//      'n': LowercaseLetter
//      'g': LowercaseLetter
//      ',': OtherPunctuation
//      ' ': SpaceSeparator
//      'n': LowercaseLetter
//      'a': LowercaseLetter
//      'r': LowercaseLetter
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'w': LowercaseLetter
//      ',': OtherPunctuation
//      ' ': SpaceSeparator
//      's': LowercaseLetter
//      'e': LowercaseLetter
//      'c': LowercaseLetter
//      'l': LowercaseLetter
//      'u': LowercaseLetter
//      'd': LowercaseLetter
//      'e': LowercaseLetter
//      'd': LowercaseLetter
//      ' ': SpaceSeparator
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'a': LowercaseLetter
//      'd': LowercaseLetter
//      '.': OtherPunctuation

(U + 0000부터 U + 00FF), ASCII 범위 밖의 문자에 대 한 내부적으로 GetUnicodeCategory 방법은에서 보고 하는 유니코드 범주에 따라는 CharUnicodeInfo 클래스입니다. 부터는 .NET Framework 4.6.2, 유니코드 문자에 따라 분류 된 The Unix Standard, Version 8.0.0합니다. 버전의.NET Framework는 .NET Framework 4 에 .NET Framework 4.6.1에 따라 분류 된 The Unix Standard, Version 6.3.0합니다.

여러 단일 문자를 나타낼 수 있으므로 Char 개체는 항상 개별 작업할 의미가 없습니다 Char 개체입니다. 예를 들어, 다음 예제에서는 유니코드 코드 포인트를 u t F-16으로 인코딩된 코드 단위 Aegean 숫자 0부터 9까지를 나타낼를 변환 합니다. 잘못과 동일 하기 때문에 Char 문자로 개체 정확 하 게 보고 되지 결과 문자열에 20 자까지 허용 합니다.

using System;

public class Example
{
   public static void Main()
   {
      string result = String.Empty;
      for (int ctr = 0x10107; ctr <= 0x10110; ctr++)  // Range of Aegean numbers.
         result += Char.ConvertFromUtf32(ctr);

      Console.WriteLine("The string contains {0} characters.", result.Length); 
   }
}
// The example displays the following output:
//     The string contains 20 characters.

가정 하지 않으려면 다음을 수행할 수 있는 한 Char 개체는 단일 문자를 나타냅니다.

  • 작업할 수는 String 및 언어적 내용 분석의 개별 문자를 사용 하는 대신 전체에서 개체입니다.

  • 사용할 수는 StringInfo 개별 대신 텍스트 요소를 사용할 수 있는 클래스 Char 개체입니다. 다음 예제에서는 StringInfo 는 게 구성 된 문자열에 대 한 텍스트 요소의 수를 계산 하는 개체 번호는 0부터 9입니다. 단일 문자 서로게이트 쌍 간주, 때문에 올바르게 10 개의 문자가 문자열에 포함 되어 있는지 보고 합니다.

    using System;
    using System.Globalization;
    
    public class Example
    {
       public static void Main()
       {
          string result = String.Empty;
          for (int ctr = 0x10107; ctr <= 0x10110; ctr++)  // Range of Aegean numbers.
             result += Char.ConvertFromUtf32(ctr);
    
          StringInfo si = new StringInfo(result);
          Console.WriteLine("The string contains {0} characters.", 
                            si.LengthInTextElements); 
       }
    }
    // The example displays the following output:
    //       The string contains 10 characters.
    
  • 문자열로 결합 문자를 하나 이상 있는 기본 문자를 포함 하는 경우 호출할 수 있습니다는 String.Normalize 단일 u t F-16으로 인코딩된 코드 단위에 있는 부분 문자열을 변환 하는 메서드입니다. 다음 예제에서는 String.Normalize 기본 문자 U + 0061 (LATIN SMALL LETTER A) 및 결합 문자 U + 0308 (결합 DIAERESIS) U + 00 e 4 인 변환할 메서드 (라틴 문자 SMALL LETTER A와 DIAERESIS).

    using System;
    
    public class Example
    {
       public static void Main()
       {
          string combining = "\u0061\u0308";
          ShowString(combining);
    
          string normalized = combining.Normalize();
          ShowString(normalized);
       }
    
       private static void ShowString(string s)
       {
          Console.Write("Length of string: {0} (", s.Length);
          for (int ctr = 0; ctr < s.Length; ctr++) {
             Console.Write("U+{0:X4}", Convert.ToUInt16(s[ctr]));
             if (ctr != s.Length - 1) Console.Write(" ");
          } 
          Console.WriteLine(")\n");
       }
    }
    // The example displays the following output:
    //       Length of string: 2 (U+0061 U+0308)
    //       
    //       Length of string: 1 (U+00E4)
    

Char 구조 비교 하는 메서드를 제공 Char 개체의 현재 값으로 변환 Char 개체를 다른 형식의 개체 및의 유니코드 범주를 결정 한 Char 개체:

수행할 작업

이 사용 하 여 System.Char 메서드

비교 Char 개체

CompareToEquals

코드 포인트를 문자열로 변환

ConvertFromUtf32

변환 된 Char 개체 또는 서로게이트 쌍의 Char 개체 코드 포인트를

단일 문자:Convert.ToInt32(Char)

서로게이트 쌍 또는 문자열의 문자:Char.ConvertToUtf32

문자의 유니코드 범주 가져오기

GetUnicodeCategory

제어 문자, 숫자, 문자, 문장 부호와 같은 특정 유니코드 범주에는 문자 인지를 확인 하 고 등

IsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, andIsWhiteSpace

변환 된 Char 숫자 값 형식에 숫자를 나타내는 개체입니다

GetNumericValue

변환에 문자열의 문자는 Char 개체

ParseTryParse

변환 된 Char 개체는 String 개체

ToString

대/소문자 변경는 Char 개체

ToLower, ToLowerInvariant, ToUpperToUpperInvariant

관리 되는 경우 Char interop 마샬러가 문자 집합을 ANSI, 유니코드 u t F-8로 인코딩된 코드 단위로 표현 되는 형식을 관리 되지 않는 코드에 전달 됩니다. 적용할 수는 DllImportAttribute 특성을 플랫폼 호출 선언 및 StructLayoutAttribute 특성을 제어는 마샬링된는 문자 집합에 COM interop 선언 Char 사용 하 여 입력 합니다.

다음 코드 예제에 있는 메서드 중 일부를 보여 줍니다 Char합니다.

using System;

public class CharStructureSample {
	public static void Main() {
		char chA = 'A';
		char ch1 = '1';
		string str = "test string"; 

		Console.WriteLine(chA.CompareTo('B'));			// Output: "-1" (meaning 'A' is 1 less than 'B')
		Console.WriteLine(chA.Equals('A'));				// Output: "True"
		Console.WriteLine(Char.GetNumericValue(ch1));	// Output: "1"
		Console.WriteLine(Char.IsControl('\t'));		// Output: "True"
		Console.WriteLine(Char.IsDigit(ch1));			// Output: "True"
		Console.WriteLine(Char.IsLetter(','));			// Output: "False"
		Console.WriteLine(Char.IsLower('u'));			// Output: "True"
		Console.WriteLine(Char.IsNumber(ch1));			// Output: "True"
		Console.WriteLine(Char.IsPunctuation('.'));		// Output: "True"
		Console.WriteLine(Char.IsSeparator(str, 4));	// Output: "True"
		Console.WriteLine(Char.IsSymbol('+'));			// Output: "True"
		Console.WriteLine(Char.IsWhiteSpace(str, 4));	// Output: "True"
		Console.WriteLine(Char.Parse("S"));				// Output: "S"
		Console.WriteLine(Char.ToLower('M'));			// Output: "m"
		Console.WriteLine('x'.ToString());				// Output: "x"
	}
}

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
1.1 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능

이 유형의 모든 멤버는 스레드로부터 안전 합니다. 멤버 인스턴스 상태를 수정 하려면 표시 되는 실제로 새 값으로 초기화 하는 새 인스턴스를 반환 합니다. 으로 다른 종류와이 형식의 인스턴스를 포함 하는 공유 변수를 읽고 쓰는 보호 해야 스레드로부터 안전을 보장 하려면 잠금에 의해.

맨 위로 이동
표시: