다음을 통해 공유


Char 구조체

유니코드 문자를 나타냅니다.

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

구문

‘선언
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Char
    Implements IComparable, IConvertible, IComparable(Of Char), _
    IEquatable(Of Char)
‘사용 방법
Dim instance As Char
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct Char : IComparable, IConvertible, IComparable<char>, 
    IEquatable<char>
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public value class Char : IComparable, IConvertible, IComparable<wchar_t>, 
    IEquatable<wchar_t>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Char extends ValueType implements IComparable, IConvertible, 
    IComparable<char>, IEquatable<char>
JScript에서는 구조체를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

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

String 개체는 텍스트 문자열을 나타내는 Char 구조체의 순차적인 컬렉션입니다. 대부분의 유니코드 문자는 단일 Char 개체로 나타낼 수 있지만 기본 문자, 서로게이트 쌍 및/또는 조합 문자 시퀀스로 인코딩되는 문자는 여러 Char 개체로 나타낼 수 있습니다. 따라서 String 개체의 Char 구조체가 단일 유니코드 문자와 동일할 필요는 없습니다.

유니 코드에 대한 자세한 내용은 Unicode home page를 참조하십시오.

기능

Char 구조체는 Char 개체를 비교하고, 현재 Char 개체의 값을 다른 형식의 개체로 변환하고, Char 개체의 유니코드 범주를 결정하는 다음 메서드를 제공합니다.

인터페이스 구현

이 형식은 IConvertible, IComparableIComparable 인터페이스를 구현합니다. 변환을 위해 이 형식의 IConvertible 명시적 인터페이스 멤버 구현 대신 Convert 클래스를 사용합니다.

예제

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

imports System

Module CharStructure

    Public Sub Main()

        Dim chA As Char
        chA = "A"c
        Dim ch1 As Char
        ch1 = "1"c
        Dim str As String
        str = "test string"

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

    End Sub

End Module
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"
    }
}
using namespace System;
int 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' ); // Output: "x"
}
import System.* ;

public class CharStructureSample
{
    public static void main(String[] args)
    {
        Character chA = new Character('A');
        char ch1 = '1';
        String str = "test string";

        // Output: "-1" (meaning 'A' is 1 less than 'B')        
        Console.WriteLine(chA.compareTo(new Character('B')));        
        // Output: "True"
        Console.WriteLine(chA.equals(new Character('A')));            
        // Output: "1"
        Console.WriteLine(System.Char.GetNumericValue(ch1));        
        // Output: "True"
        Console.WriteLine(Char.IsControl('\t'));                    
        // Output: "True"
        Console.WriteLine(System.Char.IsDigit(ch1));                
        // Output: "False"
        Console.WriteLine(Char.IsLetter(','));                        
        // Output: "True"
        Console.WriteLine(Char.IsLower('u'));                        
        // Output: "True"
        Console.WriteLine(System.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: "S"
        Console.WriteLine(Char.Parse("S"));                            
        // Output: "m"
        Console.WriteLine(Char.ToLower('M'));                        
        // Output: "x"
        Console.WriteLine(System.Convert.ToString('x'));                
    } //main
} //CharStructureSample

스레드로부터의 안전성

이 형식은 다중 스레드 작업을 수행하는 데 안전합니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Char 멤버
System 네임스페이스
IComparable
IConvertible
String