Char 구조체

정의

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

public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public value class char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, IUtf8SpanParsable<char>, System::Numerics::IAdditionOperators<char, char, char>, System::Numerics::IAdditiveIdentity<char, char>, System::Numerics::IBinaryInteger<char>, System::Numerics::IBinaryNumber<char>, System::Numerics::IBitwiseOperators<char, char, char>, System::Numerics::IComparisonOperators<char, char, bool>, System::Numerics::IDecrementOperators<char>, System::Numerics::IDivisionOperators<char, char, char>, System::Numerics::IEqualityOperators<char, char, bool>, System::Numerics::IIncrementOperators<char>, System::Numerics::IMinMaxValue<char>, System::Numerics::IModulusOperators<char, char, char>, System::Numerics::IMultiplicativeIdentity<char, char>, System::Numerics::IMultiplyOperators<char, char, char>, System::Numerics::INumber<char>, System::Numerics::INumberBase<char>, System::Numerics::IShiftOperators<char, int, char>, System::Numerics::ISubtractionOperators<char, char, char>, System::Numerics::IUnaryNegationOperators<char, char>, System::Numerics::IUnaryPlusOperators<char, char>, System::Numerics::IUnsignedNumber<char>
public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
public value class char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, System::Numerics::IAdditionOperators<char, char, char>, System::Numerics::IAdditiveIdentity<char, char>, System::Numerics::IBinaryInteger<char>, System::Numerics::IBinaryNumber<char>, System::Numerics::IBitwiseOperators<char, char, char>, System::Numerics::IComparisonOperators<char, char, bool>, System::Numerics::IDecrementOperators<char>, System::Numerics::IDivisionOperators<char, char, char>, System::Numerics::IEqualityOperators<char, char, bool>, System::Numerics::IIncrementOperators<char>, System::Numerics::IMinMaxValue<char>, System::Numerics::IModulusOperators<char, char, char>, System::Numerics::IMultiplicativeIdentity<char, char>, System::Numerics::IMultiplyOperators<char, char, char>, System::Numerics::INumber<char>, System::Numerics::INumberBase<char>, System::Numerics::IShiftOperators<char, int, char>, System::Numerics::ISubtractionOperators<char, char, char>, System::Numerics::IUnaryNegationOperators<char, char>, System::Numerics::IUnaryPlusOperators<char, char>, System::Numerics::IUnsignedNumber<char>
public value class char : IComparable, IConvertible
public value class char : IComparable, IComparable<char>, IEquatable<char>
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public readonly struct Char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, IUtf8SpanParsable<char>, System.Numerics.IAdditionOperators<char,char,char>, System.Numerics.IAdditiveIdentity<char,char>, System.Numerics.IBinaryInteger<char>, System.Numerics.IBinaryNumber<char>, System.Numerics.IBitwiseOperators<char,char,char>, System.Numerics.IComparisonOperators<char,char,bool>, System.Numerics.IDecrementOperators<char>, System.Numerics.IDivisionOperators<char,char,char>, System.Numerics.IEqualityOperators<char,char,bool>, System.Numerics.IIncrementOperators<char>, System.Numerics.IMinMaxValue<char>, System.Numerics.IModulusOperators<char,char,char>, System.Numerics.IMultiplicativeIdentity<char,char>, System.Numerics.IMultiplyOperators<char,char,char>, System.Numerics.INumber<char>, System.Numerics.INumberBase<char>, System.Numerics.IShiftOperators<char,int,char>, System.Numerics.ISubtractionOperators<char,char,char>, System.Numerics.IUnaryNegationOperators<char,char>, System.Numerics.IUnaryPlusOperators<char,char>, System.Numerics.IUnsignedNumber<char>
public readonly struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public readonly struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
public readonly struct Char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, System.Numerics.IAdditionOperators<char,char,char>, System.Numerics.IAdditiveIdentity<char,char>, System.Numerics.IBinaryInteger<char>, System.Numerics.IBinaryNumber<char>, System.Numerics.IBitwiseOperators<char,char,char>, System.Numerics.IComparisonOperators<char,char,bool>, System.Numerics.IDecrementOperators<char>, System.Numerics.IDivisionOperators<char,char,char>, System.Numerics.IEqualityOperators<char,char,bool>, System.Numerics.IIncrementOperators<char>, System.Numerics.IMinMaxValue<char>, System.Numerics.IModulusOperators<char,char,char>, System.Numerics.IMultiplicativeIdentity<char,char>, System.Numerics.IMultiplyOperators<char,char,char>, System.Numerics.INumber<char>, System.Numerics.INumberBase<char>, System.Numerics.IShiftOperators<char,int,char>, System.Numerics.ISubtractionOperators<char,char,char>, System.Numerics.IUnaryNegationOperators<char,char>, System.Numerics.IUnaryPlusOperators<char,char>, System.Numerics.IUnsignedNumber<char>
[System.Serializable]
public struct Char : IComparable, IConvertible
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public struct Char : IComparable, IComparable<char>, IEquatable<char>
type char = struct
    interface IConvertible
type char = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<char>
    interface ISpanFormattable
    interface ISpanParsable<char>
    interface IUtf8SpanFormattable
    interface IUtf8SpanParsable<char>
    interface IAdditionOperators<char, char, char>
    interface IAdditiveIdentity<char, char>
    interface IBinaryInteger<char>
    interface IBinaryNumber<char>
    interface IBitwiseOperators<char, char, char>
    interface IComparisonOperators<char, char, bool>
    interface IEqualityOperators<char, char, bool>
    interface IDecrementOperators<char>
    interface IDivisionOperators<char, char, char>
    interface IIncrementOperators<char>
    interface IModulusOperators<char, char, char>
    interface IMultiplicativeIdentity<char, char>
    interface IMultiplyOperators<char, char, char>
    interface INumber<char>
    interface INumberBase<char>
    interface ISubtractionOperators<char, char, char>
    interface IUnaryNegationOperators<char, char>
    interface IUnaryPlusOperators<char, char>
    interface IShiftOperators<char, int, char>
    interface IMinMaxValue<char>
    interface IUnsignedNumber<char>
type char = struct
    interface IConvertible
    interface ISpanFormattable
    interface IFormattable
type char = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<char>
    interface ISpanFormattable
    interface ISpanParsable<char>
    interface IAdditionOperators<char, char, char>
    interface IAdditiveIdentity<char, char>
    interface IBinaryInteger<char>
    interface IBinaryNumber<char>
    interface IBitwiseOperators<char, char, char>
    interface IComparisonOperators<char, char, bool>
    interface IEqualityOperators<char, char, bool>
    interface IDecrementOperators<char>
    interface IDivisionOperators<char, char, char>
    interface IIncrementOperators<char>
    interface IModulusOperators<char, char, char>
    interface IMultiplicativeIdentity<char, char>
    interface IMultiplyOperators<char, char, char>
    interface INumber<char>
    interface INumberBase<char>
    interface ISubtractionOperators<char, char, char>
    interface IUnaryNegationOperators<char, char>
    interface IUnaryPlusOperators<char, char>
    interface IShiftOperators<char, int, char>
    interface IMinMaxValue<char>
    interface IUnsignedNumber<char>
type char = struct
    interface IConvertible
    interface IFormattable
    interface IParsable<char>
    interface ISpanFormattable
    interface ISpanParsable<char>
    interface IAdditionOperators<char, char, char>
    interface IAdditiveIdentity<char, char>
    interface IBinaryInteger<char>
    interface IBinaryNumber<char>
    interface IBitwiseOperators<char, char, char>
    interface IComparisonOperators<char, char, bool>
    interface IEqualityOperators<char, char, bool>
    interface IDecrementOperators<char>
    interface IDivisionOperators<char, char, char>
    interface IIncrementOperators<char>
    interface IModulusOperators<char, char, char>
    interface IMultiplicativeIdentity<char, char>
    interface IMultiplyOperators<char, char, char>
    interface INumber<char>
    interface INumberBase<char>
    interface ISubtractionOperators<char, char, char>
    interface IUnaryNegationOperators<char, char>
    interface IUnaryPlusOperators<char, char>
    interface IUtf8SpanFormattable
    interface IUtf8SpanParsable<char>
    interface IShiftOperators<char, int, char>
    interface IMinMaxValue<char>
    interface IUnsignedNumber<char>
[<System.Serializable>]
type char = struct
    interface IConvertible
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type char = struct
    interface IConvertible
type char = struct
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char)
Public Structure Char
Implements IAdditionOperators(Of Char, Char, Char), IAdditiveIdentity(Of Char, Char), IBinaryInteger(Of Char), IBinaryNumber(Of Char), IBitwiseOperators(Of Char, Char, Char), IComparable(Of Char), IComparisonOperators(Of Char, Char, Boolean), IConvertible, IDecrementOperators(Of Char), IDivisionOperators(Of Char, Char, Char), IEqualityOperators(Of Char, Char, Boolean), IEquatable(Of Char), IIncrementOperators(Of Char), IMinMaxValue(Of Char), IModulusOperators(Of Char, Char, Char), IMultiplicativeIdentity(Of Char, Char), IMultiplyOperators(Of Char, Char, Char), INumber(Of Char), INumberBase(Of Char), IParsable(Of Char), IShiftOperators(Of Char, Integer, Char), ISpanParsable(Of Char), ISubtractionOperators(Of Char, Char, Char), IUnaryNegationOperators(Of Char, Char), IUnaryPlusOperators(Of Char, Char), IUnsignedNumber(Of Char), IUtf8SpanParsable(Of Char)
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char), ISpanFormattable
Public Structure Char
Implements IAdditionOperators(Of Char, Char, Char), IAdditiveIdentity(Of Char, Char), IBinaryInteger(Of Char), IBinaryNumber(Of Char), IBitwiseOperators(Of Char, Char, Char), IComparable(Of Char), IComparisonOperators(Of Char, Char, Boolean), IConvertible, IDecrementOperators(Of Char), IDivisionOperators(Of Char, Char, Char), IEqualityOperators(Of Char, Char, Boolean), IEquatable(Of Char), IIncrementOperators(Of Char), IMinMaxValue(Of Char), IModulusOperators(Of Char, Char, Char), IMultiplicativeIdentity(Of Char, Char), IMultiplyOperators(Of Char, Char, Char), INumber(Of Char), INumberBase(Of Char), IParsable(Of Char), IShiftOperators(Of Char, Integer, Char), ISpanParsable(Of Char), ISubtractionOperators(Of Char, Char, Char), IUnaryNegationOperators(Of Char, Char), IUnaryPlusOperators(Of Char, Char), IUnsignedNumber(Of Char)
Public Structure Char
Implements IComparable, IConvertible
Public Structure Char
Implements IComparable, IComparable(Of Char), IEquatable(Of Char)
상속
특성
구현
IComparable IComparable<Char> IConvertible IEquatable<Char> IComparable<TSelf> IEquatable<TSelf> IFormattable IParsable<Char> IParsable<TSelf> ISpanFormattable ISpanParsable<Char> ISpanParsable<TSelf> IUtf8SpanFormattable IUtf8SpanParsable<Char> IUtf8SpanParsable<TSelf> IAdditionOperators<Char,Char,Char> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<Char,Char> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<Char> IBinaryNumber<Char> IBinaryNumber<TSelf> IBitwiseOperators<Char,Char,Char> IBitwiseOperators<TSelf,TSelf,TSelf> IComparisonOperators<Char,Char,Boolean> IComparisonOperators<TSelf,TSelf,Boolean> IDecrementOperators<Char> IDecrementOperators<TSelf> IDivisionOperators<Char,Char,Char> IDivisionOperators<TSelf,TSelf,TSelf> IEqualityOperators<Char,Char,Boolean> IEqualityOperators<TSelf,TOther,TResult> IEqualityOperators<TSelf,TSelf,Boolean> IIncrementOperators<Char> IIncrementOperators<TSelf> IMinMaxValue<Char> IModulusOperators<Char,Char,Char> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<Char,Char> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<Char,Char,Char> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<Char> INumber<TSelf> INumberBase<Char> INumberBase<TSelf> IShiftOperators<Char,Int32,Char> IShiftOperators<TSelf,Int32,TSelf> ISubtractionOperators<Char,Char,Char> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<Char,Char> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<Char,Char> IUnaryPlusOperators<TSelf,TSelf> IUnsignedNumber<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"
    }
}
open System

let chA = 'A'
let ch1 = '1'
let str = "test string"

printfn $"{chA.CompareTo 'B'}"          //-----------  Output: "-1" (meaning 'A' is 1 less than 'B')
printfn $"{chA.Equals 'A'}"             //-----------  Output: "True"
printfn $"{Char.GetNumericValue ch1}"   //-----------  Output: "1"
printfn $"{Char.IsControl '\t'}"        //-----------  Output: "True"
printfn $"{Char.IsDigit ch1}"           //-----------  Output: "True"
printfn $"{Char.IsLetter ','}"          //-----------  Output: "False"
printfn $"{Char.IsLower 'u'}"           //-----------  Output: "True"
printfn $"{Char.IsNumber ch1}"          //-----------  Output: "True"
printfn $"{Char.IsPunctuation '.'}"     //-----------  Output: "True"
printfn $"{Char.IsSeparator(str, 4)}"   //-----------  Output: "True"
printfn $"{Char.IsSymbol '+'}"          //-----------  Output: "True"
printfn $"{Char.IsWhiteSpace(str, 4)}"  //-----------  Output: "True"
printfn $"""{Char.Parse "S"}"""         //-----------  Output: "S"
printfn $"{Char.ToLower 'M'}"           //-----------  Output: "m"
printfn $"{'x'}"                        //-----------  Output: "x"
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

설명

구조체는 Char UTF-16 인코딩을 사용하여 유니코드 코드 포인트를 나타냅니다. 개체의 Char 값은 16비트 숫자(서수) 값입니다.

유니코드, 스칼라 값, 코드 포인트, 서로게이트 쌍, UTF-16 및 Rune 형식에 익숙하지 않은 경우 .NET의 문자 인코딩 소개를 참조하세요.

이 문서에서는 개체와 문자 간의 Char 관계를 살펴보고 인스턴스와 함께 Char 수행되는 몇 가지 일반적인 작업에 대해 설명합니다. Rune 대신에 이러한 작업 중 일부를 수행하기 위한 대안으로 .NET Core 3.0에 도입된 Char 형식을 고려하는 것이 좋습니다.

Char 개체, 유니코드 문자 및 문자열

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

여러 16비트 코드 단위는 다음과 같은 경우 단일 유니코드 문자를 나타내는 데 사용됩니다.

  • 문자 모양- 단일 문자 또는 기본 문자와 하나 이상의 결합 문자로 구성될 수 있습니다. 예를 들어 ä 문자는 코드 단위가 U+0061인 Char 개체와 코드 단위가 U+0308인 Char 개체로 표시됩니다. (ä 문자는 U+00E4의 코드 단위가 있는 단일 Char 개체로 정의할 수도 있습니다.) 다음 예제에서는 ä 문자가 두 Char 개의 개체로 구성되어 있음을 보여 줍니다.

    using System;
    using System.IO;
    
    public class Example1
    {
        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:
    //       ä
    
    open System
    open System.IO
    
    let sw = new StreamWriter("chars1.txt")
    let chars = [| '\u0061'; '\u0308' |]
    let string = String chars
    sw.WriteLine string
    sw.Close()
    
    // The example produces the following output:
    //       ä
    
    Imports System.IO
    
    Module Example2
        Public Sub Main()
            Dim sw As New StreamWriter("chars1.txt")
            Dim chars() As Char = {ChrW(&H61), ChrW(&H308)}
            Dim strng As New String(chars)
            sw.WriteLine(strng)
            sw.Close()
        End Sub
    End Module
    ' The example produces the following output:
    '       ä
    
  • 유니코드 BMP(Basic Multilingual Plane) 외부의 문자입니다. 유니코드는 평면 0을 나타내는 BMP 외에 16개의 평면을 지원합니다. 유니코드 코드 포인트는 평면을 포함하는 21비트 값으로 UTF-32로 표시됩니다. 예를 들어 U+1D160은 MUSICAL SYMBOL EIGHTH NOTE 문자를 나타냅니다. UTF-16 인코딩에는 16비트만 있으므로 BMP 외부의 문자는 UTF-16의 서로게이트 쌍으로 표시됩니다. 다음 예제에서는 U+1D160에 해당하는 UTF-32( MUSICAL SYMBOL EIGHTH NOTE 문자)가 U+D834 U+DD60임을 보여 줍니다. U+D834는 상위 서로게이트입니다. 상위 서로게이트 범위는 U+D800부터 U+DBFF까지입니다. U+DD60은 낮은 서로게이트입니다. 하위 서로게이트 범위는 U+DC00부터 U+DFFF까지입니다.

    using System;
    using System.IO;
    
    public class Example3
    {
        public static void Main()
        {
            StreamWriter sw = new StreamWriter(@".\chars2.txt");
            int utf32 = 0x1D160;
            string surrogate = Char.ConvertFromUtf32(utf32);
            sw.WriteLine($"U+{utf32:X6} UTF-32 = {surrogate} ({ShowCodePoints(surrogate)}) UTF-16");
            sw.Close();
        }
    
        private static string ShowCodePoints(string value)
        {
            string retval = null;
            foreach (var ch in value)
                retval += $"U+{Convert.ToUInt16(ch):X4} ";
    
            return retval.Trim();
        }
    }
    // The example produces the following output:
    //       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    
    open System
    open System.IO
    
    let showCodePoints (value: char seq) =
        let str =
            value
            |> Seq.map (fun ch -> $"U+{Convert.ToUInt16 ch:X4}")
            |> String.concat ""
        str.Trim()
    
    let sw = new StreamWriter(@".\chars2.txt")
    let utf32 = 0x1D160
    let surrogate = Char.ConvertFromUtf32 utf32
    sw.WriteLine $"U+{utf32:X6} UTF-32 = {surrogate} ({showCodePoints surrogate}) UTF-16"
    sw.Close()
    
    // The example produces the following output:
    //       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    
    Imports System.IO
    
    Module Example4
        Public Sub Main()
            Dim sw As New StreamWriter(".\chars2.txt")
            Dim utf32 As Integer = &H1D160
            Dim surrogate As String = Char.ConvertFromUtf32(utf32)
            sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16",
                       utf32, surrogate, ShowCodePoints(surrogate))
            sw.Close()
        End Sub
    
        Private Function ShowCodePoints(value As String) As String
            Dim retval As String = Nothing
            For Each ch In value
                retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch))
            Next
            Return retval.Trim()
        End Function
    End Module
    ' The example produces the following output:
    '       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    

문자 및 문자 범주

각 유니코드 문자 또는 유효한 서로게이트 쌍은 유니코드 범주에 속합니다. .NET에서 유니코드 범주는 UnicodeCategory 열거형의 멤버로 표시되며, 예를 들어 UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter, UnicodeCategory.SpaceSeparator 등의 값을 포함합니다.

문자의 유니코드 범주를 확인하려면 메서드를 호출합니다 GetUnicodeCategory . 예를 들어 다음 예제에서는 문자열에서 GetUnicodeCategory 각 문자의 유니코드 범주를 표시하도록 호출합니다. 이 예제는 인스턴스에 String 서로게이트 쌍이 없는 경우에만 올바르게 작동합니다.

using System;
using System.Globalization;

class Example
{
   public static void Main()
   {
      // Define a string with a variety of character categories.
      String s = "The red car drove down the long, narrow, secluded road.";
      // Determine the category of each character.
      foreach (var ch in s)
         Console.WriteLine($"'{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
open System

// Define a string with a variety of character categories.
let s = "The red car drove down the long, narrow, secluded road."
// Determine the category of each character.
for ch in s do
    printfn $"'{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
Imports System.Globalization

Module Example1
    Public Sub Main()
        ' Define a string with a variety of character categories.
        Dim s As String = "The car drove down the narrow, secluded road."
        ' Determine the category of each character.
        For Each ch In s
            Console.WriteLine("'{0}': {1}", ch, Char.GetUnicodeCategory(ch))
        Next
    End Sub
End Module
' 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

내부적으로 ASCII 범위(U+0000~ U+00FF)를 벗어난 문자의 GetUnicodeCategory 경우 메서드는 클래스에서 보고한 CharUnicodeInfo 유니코드 범주에 따라 달라집니다. 유니코드 문자는 유니코드 표준 버전 8.0.0을 기반으로 분류됩니다.

문자 및 텍스트 요소

단일 문자는 여러 Char 개체로 나타낼 수 있으므로 개별 Char 개체로 작업하는 것이 항상 의미가 있는 것은 아닙니다. 예를 들어 다음 예제에서는 0부터 9까지의 에게 해 숫자를 나타내는 유니코드 코드 포인트를 UTF-16으로 인코딩된 코드 단위로 변환합니다. 객체를 문자와 잘못 혼동하여 결과 문자열이 20자라고 부정확하게 보고합니다.

using System;

public class Example5
{
    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 {result.Length} characters.");
    }
}
// The example displays the following output:
//     The string contains 20 characters.
open System

let result =
    [ for i in 0x10107..0x10110 do  // Range of Aegean numbers.
        Char.ConvertFromUtf32 i ]
    |> String.concat ""

printfn $"The string contains {result.Length} characters."


// The example displays the following output:
//     The string contains 20 characters.
Module Example5
    Public Sub Main()
        Dim result As String = String.Empty
        For ctr As Integer = &H10107 To &H10110     ' Range of Aegean numbers.
            result += Char.ConvertFromUtf32(ctr)
        Next
        Console.WriteLine("The string contains {0} characters.", result.Length)
    End Sub
End Module
' The example displays the following output:
'     The string contains 20 characters.

개체가 단일 문자를 나타낸다는 Char 가정이 없도록 다음을 수행할 수 있습니다.

  • 개별 문자로 String 작업하는 대신 개체 전체를 사용하여 언어 콘텐츠를 나타내고 분석할 수 있습니다.

  • 다음 예제와 같이 사용할 String.EnumerateRunes 수 있습니다.

    int CountLetters(string s)
    {
        int letterCount = 0;
    
        foreach (Rune rune in s.EnumerateRunes())
        {
            if (Rune.IsLetter(rune))
            { letterCount++; }
        }
    
        return letterCount;
    }
    
    let countLetters (s: string) =
        let mutable letterCount = 0
    
        for rune in s.EnumerateRunes() do
            if Rune.IsLetter rune then
                letterCount <- letterCount + 1
    
        letterCount
    
  • 클래스를 StringInfo 사용하여 개별 Char 개체 대신 텍스트 요소를 사용할 수 있습니다. 다음 예제에서는 개체를 StringInfo 사용하여 에게 해 숫자 0에서 9로 구성된 문자열의 텍스트 요소 수를 계산합니다. 서로게이트 쌍을 단일 문자로 간주하므로 문자열에 10자가 포함되어 있음을 올바르게 보고합니다.

    using System;
    using System.Globalization;
    
    public class Example4
    {
        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 {si.LengthInTextElements} characters.");
        }
    }
    // The example displays the following output:
    //       The string contains 10 characters.
    
    open System
    open System.Globalization
    
    let result =
        [ for i in 0x10107..0x10110 do  // Range of Aegean numbers.
            Char.ConvertFromUtf32 i ]
        |> String.concat ""
    
    
    let si = StringInfo result
    printfn $"The string contains {si.LengthInTextElements} characters."
    
    // The example displays the following output:
    //       The string contains 10 characters.
    
    Imports System.Globalization
    
    Module Example6
        Public Sub Main()
            Dim result As String = String.Empty
            For ctr As Integer = &H10107 To &H10110     ' Range of Aegean numbers.
                result += Char.ConvertFromUtf32(ctr)
            Next
            Dim si As New StringInfo(result)
            Console.WriteLine("The string contains {0} characters.", si.LengthInTextElements)
        End Sub
    End Module
    ' The example displays the following output:
    '       The string contains 10 characters.
    
  • 문자열에 하나 이상의 결합 문자가 있는 기본 문자가 포함된 경우 메서드를 호출 String.Normalize 하여 부분 문자열을 단일 UTF-16 인코딩 코드 단위로 변환할 수 있습니다. 다음 예제에서는 기본 문자 U+0061(LATIN SMALL LETTER A)와 결합 문자 U+0308(DIAERESIS 결합문자)를 U+00E4(LATIN SMALL LETTER A WITH DIAERESIS)로 변환하기 위해 메서드 String.Normalize를 호출합니다.

    using System;
    
    public class Example2
    {
        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: {s.Length} (");
            for (int ctr = 0; ctr < s.Length; ctr++)
            {
                Console.Write($"U+{Convert.ToUInt16(s[ctr]):X4}");
                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)
    
    open System
    
    let showString (s: string) =
        printf $"Length of string: {s.Length} ("
        for i = 0 to s.Length - 1 do
            printf $"U+{Convert.ToUInt16 s[i]:X4}"
            if i <> s.Length - 1 then printf " "
        printfn ")\n"
    
    let combining = "\u0061\u0308"
    showString combining
    
    let normalized = combining.Normalize()
    showString normalized
    
    // The example displays the following output:
    //       Length of string: 2 (U+0061 U+0308)
    //
    //       Length of string: 1 (U+00E4)
    
    Module Example3
        Public Sub Main()
            Dim combining As String = ChrW(&H61) + ChrW(&H308)
            ShowString(combining)
    
            Dim normalized As String = combining.Normalize()
            ShowString(normalized)
        End Sub
    
        Private Sub ShowString(s As String)
            Console.Write("Length of string: {0} (", s.Length)
            For ctr As Integer = 0 To s.Length - 1
                Console.Write("U+{0:X4}", Convert.ToUInt16(s(ctr)))
                If ctr <> s.Length - 1 Then Console.Write(" ")
            Next
            Console.WriteLine(")")
            Console.WriteLine()
        End Sub
    End Module
    ' The example displays the following output:
    '       Length of string: 2 (U+0061 U+0308)
    '       
    '       Length of string: 1 (U+00E4)
    

일반적인 작업

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

이를 위해 이러한 System.Char 메서드 사용
Char 개체를 비교하세요 CompareToEquals
코드 지점을 문자열로 변환 ConvertFromUtf32

형식도 참조하세요 Rune .
Char 개체 또는 서로게이트 개체 쌍 Char 을 코드 포인트로 변환 단일 문자의 경우: Convert.ToInt32(Char)

대체 쌍이나 문자열 안의 문자: Char.ConvertToUtf32

형식도 참조하세요 Rune .
문자의 유니코드 범주 가져오기 GetUnicodeCategory

Rune.GetUnicodeCategory을 참조하세요.
문자가 숫자, 문자, 문장 부호, 컨트롤 문자 등과 같은 특정 유니코드 범주에 있는지 확인 IsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpperIsWhiteSpace

형식에 대한 해당 메서드도 참조하세요 Rune .
Char 숫자를 나타내는 개체를 숫자 값 형식으로 변환 GetNumericValue

Rune.GetNumericValue을 참조하세요.
문자열의 문자를 개체로 Char 변환 ParseTryParse
개체를 Char 개체로 String 변환 ToString
Char 개체의 대문자와 소문자 변경 ToLower, ToLowerInvariant, ToUpperToUpperInvariant

형식에 대한 해당 메서드도 참조하세요 Rune .

Char 값 및 상호 운용성

유니코드 UTF-16으로 인코딩된 코드 단위로 표현된 Char 형식이 관리되지 않는 코드에 전달되면, interop 마샬러는 문자열의 문자 집합을 기본적으로 ANSI로 변환합니다. 플랫폼 호출 선언에 DllImportAttribute 특성을 적용하고, COM interop 선언에 StructLayoutAttribute 특성을 적용하여 마샬링된 Char 형식이 사용하는 문자 집합을 제어할 수 있습니다.

필드

Name Description
MaxValue

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

MinValue

가능한 가장 작은 값을 Char나타냅니다. 이 필드는 상수입니다.

메서드

Name Description
CompareTo(Char)

이 인스턴스를 지정된 개체와 비교하고 이 인스턴스가 지정한 Char 개체와 정렬 순서 Char 의 동일한 위치에 선행, 팔로우 또는 표시되는지 여부를 나타냅니다.

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하고 이 인스턴스가 지정된 순서대로 정렬 순서 Object에서 앞에 오거나, 뒤따르거나, 나타나는지 여부를 나타냅니다.

ConvertFromUtf32(Int32)

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

ConvertToUtf32(Char, Char)

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

ConvertToUtf32(String, Int32)

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

Equals(Char, StringComparison)

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

Equals(Char)

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

Equals(Object)

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

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

GetNumericValue(Char)

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

GetNumericValue(String, Int32)

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

GetTypeCode()

for 값 형식을 TypeCode 반환합니다 Char.

GetUnicodeCategory(Char)

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

GetUnicodeCategory(String, Int32)

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

IsAscii(Char)

ASCII 문자([ U+0000..U+007F ])인 경우 true 를 반환 c 합니다.

IsAsciiDigit(Char)

문자가 ASCII 숫자로 분류되는지 여부를 나타냅니다.

IsAsciiHexDigit(Char)

문자가 ASCII 16진수 숫자로 분류되는지 여부를 나타냅니다.

IsAsciiHexDigitLower(Char)

문자가 ASCII 소문자 16진수 숫자로 분류되는지 여부를 나타냅니다.

IsAsciiHexDigitUpper(Char)

문자가 ASCII 대문자 16진수 숫자로 분류되는지 여부를 나타냅니다.

IsAsciiLetter(Char)

문자가 ASCII 문자로 분류되는지 여부를 나타냅니다.

IsAsciiLetterLower(Char)

문자가 소문자 ASCII 문자로 분류되는지 여부를 나타냅니다.

IsAsciiLetterOrDigit(Char)

문자가 ASCII 문자 또는 숫자로 분류되는지 여부를 나타냅니다.

IsAsciiLetterUpper(Char)

문자가 대문자 ASCII 문자로 분류되는지 여부를 나타냅니다.

IsBetween(Char, Char, Char)

문자가 지정된 포괄 범위 내에 있는지 여부를 나타냅니다.

IsControl(Char)

지정된 유니코드 문자가 컨트롤 문자로 분류되는지 여부를 나타냅니다.

IsControl(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 컨트롤 문자로 분류되는지 여부를 나타냅니다.

IsDigit(Char)

지정된 유니코드 문자가 10진수로 분류되는지 여부를 나타냅니다.

IsDigit(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 소수 자릿수로 분류되는지 여부를 나타냅니다.

IsHighSurrogate(Char)

지정된 Char 개체가 상위 서로게이트인지 여부를 나타냅니다.

IsHighSurrogate(String, Int32)

문자열의 Char 지정된 위치에 있는 개체가 상위 서로게이트인지 여부를 나타냅니다.

IsLetter(Char)

지정된 유니코드 문자가 유니코드 문자로 분류되는지 여부를 나타냅니다.

IsLetter(String, Int32)

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

IsLetterOrDigit(Char)

지정된 유니코드 문자가 문자 또는 소수 자릿수로 분류되는지 여부를 나타냅니다.

IsLetterOrDigit(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 문자 또는 소수 자릿수로 분류되는지 여부를 나타냅니다.

IsLower(Char)

지정된 유니코드 문자가 소문자로 분류되는지 여부를 나타냅니다.

IsLower(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 소문자로 분류되는지 여부를 나타냅니다.

IsLowSurrogate(Char)

지정된 Char 개체가 낮은 서로게이트인지 여부를 나타냅니다.

IsLowSurrogate(String, Int32)

문자열의 Char 지정된 위치에 있는 개체가 낮은 서로게이트인지 여부를 나타냅니다.

IsNumber(Char)

지정된 유니코드 문자가 숫자로 분류되는지 여부를 나타냅니다.

IsNumber(String, Int32)

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

IsPunctuation(Char)

지정된 유니코드 문자가 문장 부호로 분류되는지 여부를 나타냅니다.

IsPunctuation(String, Int32)

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

IsSeparator(Char)

지정된 유니코드 문자가 구분 기호 문자로 분류되는지 여부를 나타냅니다.

IsSeparator(String, Int32)

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

IsSurrogate(Char)

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

IsSurrogate(String, Int32)

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

IsSurrogatePair(Char, Char)

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

IsSurrogatePair(String, Int32)

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

IsSymbol(Char)

지정된 유니코드 문자가 기호 문자로 분류되는지 여부를 나타냅니다.

IsSymbol(String, Int32)

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

IsUpper(Char)

지정된 유니코드 문자가 대문자로 분류되는지 여부를 나타냅니다.

IsUpper(String, Int32)

지정된 문자열의 지정된 위치에 있는 문자가 대문자로 분류되는지 여부를 나타냅니다.

IsWhiteSpace(Char)

지정된 유니코드 문자가 공백으로 분류되는지 여부를 나타냅니다.

IsWhiteSpace(String, Int32)

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

Parse(String)

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

ToLower(Char, CultureInfo)

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

ToLower(Char)

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

ToLowerInvariant(Char)

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

ToString()

이 인스턴스의 값을 해당하는 문자열 표현으로 변환합니다.

ToString(Char)

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

ToString(IFormatProvider)

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

ToUpper(Char, CultureInfo)

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

ToUpper(Char)

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

ToUpperInvariant(Char)

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

TryParse(String, Char)

지정된 문자열의 값을 해당하는 유니코드 문자로 변환합니다. 반환 코드는 변환의 성공 여부를 나타냅니다.

명시적 인터페이스 구현

Name Description
IAdditionOperators<Char,Char,Char>.Addition(Char, Char)

합계를 계산하기 위해 두 값을 함께 추가합니다.

IAdditionOperators<Char,Char,Char>.CheckedAddition(Char, Char)

합계를 계산하기 위해 두 값을 함께 추가합니다.

IAdditiveIdentity<Char,Char>.AdditiveIdentity

현재 형식의 추가 ID를 가져옵니다.

IBinaryInteger<Char>.GetByteCount()

의 일부로 TryWriteLittleEndian(Span<Byte>, Int32)기록될 바이트 수를 가져옵니다.

IBinaryInteger<Char>.GetShortestBitLength()

현재 값에 대한 가장 짧은 두 개의 보수 표현의 길이(비트)를 가져옵니다.

IBinaryInteger<Char>.LeadingZeroCount(Char)

값의 선행 0비트 수를 계산합니다.

IBinaryInteger<Char>.Log10(Char)

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

IBinaryInteger<Char>.PopCount(Char)

값에 설정된 비트 수를 계산합니다.

IBinaryInteger<Char>.RotateLeft(Char, Int32)

지정된 양만큼 남은 값을 회전합니다.

IBinaryInteger<Char>.RotateRight(Char, Int32)

값을 지정된 양만큼 오른쪽으로 회전합니다.

IBinaryInteger<Char>.TrailingZeroCount(Char)

값의 후행 0비트 수를 계산합니다.

IBinaryInteger<Char>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, Char)

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

IBinaryInteger<Char>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, Char)

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

IBinaryInteger<Char>.TryWriteBigEndian(Span<Byte>, Int32)

현재 값을 big-endian 형식으로 지정된 범위에 쓰려고 합니다.

IBinaryInteger<Char>.TryWriteLittleEndian(Span<Byte>, Int32)

현재 값을 little-endian 형식으로 지정된 범위에 쓰려고 합니다.

IBinaryNumber<Char>.AllBitsSet

모든 비트가 설정된 이진 형식의 인스턴스를 가져옵니다.

IBinaryNumber<Char>.IsPow2(Char)

값이 2의 힘인지 확인합니다.

IBinaryNumber<Char>.Log2(Char)

값의 log2를 계산합니다.

IBitwiseOperators<Char,Char,Char>.BitwiseAnd(Char, Char)

두 값의 비트 및 값을 계산합니다.

IBitwiseOperators<Char,Char,Char>.BitwiseOr(Char, Char)

비트 또는 두 값을 계산합니다.

IBitwiseOperators<Char,Char,Char>.ExclusiveOr(Char, Char)

배타적 또는 두 값을 계산합니다.

IBitwiseOperators<Char,Char,Char>.OnesComplement(Char)

지정된 값의 보수 표현을 계산합니다.

IComparable.CompareTo(Object)

현재 인스턴스를 동일한 형식의 다른 개체와 비교하고 현재 인스턴스가 다른 개체와 정렬 순서의 동일한 위치에서 선행, 팔로우 또는 발생하는지 여부를 나타내는 정수를 반환합니다.

IComparisonOperators<Char,Char,Boolean>.GreaterThan(Char, Char)

두 값을 비교하여 더 큰 값을 결정합니다.

IComparisonOperators<Char,Char,Boolean>.GreaterThanOrEqual(Char, Char)

두 값을 비교하여 크거나 같은 값을 결정합니다.

IComparisonOperators<Char,Char,Boolean>.LessThan(Char, Char)

두 값을 비교하여 더 적은 값을 결정합니다.

IComparisonOperators<Char,Char,Boolean>.LessThanOrEqual(Char, Char)

두 값을 비교하여 어느 값이 작거나 같은지 확인합니다.

IConvertible.GetTypeCode()

이 인스턴스에 TypeCode 대한 값을 반환합니다.

IConvertible.ToBoolean(IFormatProvider)

참고 이 변환은 지원되지 않습니다. 시도하려고 하면 InvalidCastException을(를) 던집니다.

IConvertible.ToByte(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToByte(IFormatProvider).

IConvertible.ToChar(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToChar(IFormatProvider).

IConvertible.ToDateTime(IFormatProvider)

참고 이 변환은 지원되지 않습니다. 시도하려고 하면 InvalidCastException을(를) 던집니다.

IConvertible.ToDecimal(IFormatProvider)

참고 이 변환은 지원되지 않습니다. 시도하려고 하면 InvalidCastException을(를) 던집니다.

IConvertible.ToDouble(IFormatProvider)

참고 이 변환은 지원되지 않습니다. 시도하려고 하면 InvalidCastException을(를) 던집니다.

IConvertible.ToInt16(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToInt16(IFormatProvider).

IConvertible.ToInt32(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToInt32(IFormatProvider).

IConvertible.ToInt64(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToInt64(IFormatProvider).

IConvertible.ToSByte(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToSByte(IFormatProvider).

IConvertible.ToSingle(IFormatProvider)

참고 이 변환은 지원되지 않습니다. 시도하려고 하면 InvalidCastException을(를) 던집니다.

IConvertible.ToString(IFormatProvider)

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

IConvertible.ToType(Type, IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToType(Type, IFormatProvider).

IConvertible.ToUInt16(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToUInt16(IFormatProvider).

IConvertible.ToUInt32(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToUInt32(IFormatProvider).

IConvertible.ToUInt64(IFormatProvider)

이 멤버에 대한 설명은 을 참조하세요 ToUInt64(IFormatProvider).

IDecrementOperators<Char>.CheckedDecrement(Char)

값을 줄입니다.

IDecrementOperators<Char>.Decrement(Char)

값을 줄입니다.

IDivisionOperators<Char,Char,Char>.Division(Char, Char)

한 값을 다른 값으로 나누어 몫을 계산합니다.

IEqualityOperators<Char,Char,Boolean>.Equality(Char, Char)

두 값을 비교하여 같음을 확인합니다.

IEqualityOperators<Char,Char,Boolean>.Inequality(Char, Char)

두 값을 비교하여 같지 않음을 확인합니다.

IFormattable.ToString(String, IFormatProvider)

지정된 형식을 사용하여 현재 인스턴스의 값 형식을 지정합니다.

IIncrementOperators<Char>.CheckedIncrement(Char)

값을 증분합니다.

IIncrementOperators<Char>.Increment(Char)

값을 증분합니다.

IMinMaxValue<Char>.MaxValue

현재 형식의 최대값을 가져옵니다.

IMinMaxValue<Char>.MinValue

현재 형식의 최소값을 가져옵니다.

IModulusOperators<Char,Char,Char>.Modulus(Char, Char)

두 값을 함께 나누어 모듈러스 또는 나머지를 계산합니다.

IMultiplicativeIdentity<Char,Char>.MultiplicativeIdentity

현재 형식의 곱하기 ID를 가져옵니다.

IMultiplyOperators<Char,Char,Char>.CheckedMultiply(Char, Char)

두 값을 함께 곱하여 제품을 계산합니다.

IMultiplyOperators<Char,Char,Char>.Multiply(Char, Char)

두 값을 함께 곱하여 제품을 계산합니다.

INumberBase<Char>.Abs(Char)

값의 절대값을 계산합니다.

INumberBase<Char>.IsCanonical(Char)

값이 정식 표현에 있는지 여부를 확인합니다.

INumberBase<Char>.IsComplexNumber(Char)

값이 복소수를 나타내는지 여부를 결정합니다.

INumberBase<Char>.IsEvenInteger(Char)

값이 짝수 정수인지 여부를 확인합니다.

INumberBase<Char>.IsFinite(Char)

값이 유한한지 여부를 확인합니다.

INumberBase<Char>.IsImaginaryNumber(Char)

값이 순수 허수 수를 나타내는지 여부를 확인합니다.

INumberBase<Char>.IsInfinity(Char)

값이 무한인지 여부를 확인합니다.

INumberBase<Char>.IsInteger(Char)

값이 정수인지 여부를 결정합니다.

INumberBase<Char>.IsNaN(Char)

값이 NaN인지 여부를 확인합니다.

INumberBase<Char>.IsNegative(Char)

값이 음수인지 여부를 확인합니다.

INumberBase<Char>.IsNegativeInfinity(Char)

값이 음수 무한대인지 여부를 확인합니다.

INumberBase<Char>.IsNormal(Char)

값이 정상인지 여부를 확인합니다.

INumberBase<Char>.IsOddInteger(Char)

값이 홀수 정수인지 여부를 결정합니다.

INumberBase<Char>.IsPositive(Char)

값이 양수인지 여부를 확인합니다.

INumberBase<Char>.IsPositiveInfinity(Char)

값이 양의 무한대인지 여부를 확인합니다.

INumberBase<Char>.IsRealNumber(Char)

값이 실수인지 여부를 확인합니다.

INumberBase<Char>.IsSubnormal(Char)

값이 영수인지 여부를 확인합니다.

INumberBase<Char>.IsZero(Char)

값이 0인지 여부를 확인합니다.

INumberBase<Char>.MaxMagnitude(Char, Char)

두 값을 더 큰 컴퓨팅과 비교합니다.

INumberBase<Char>.MaxMagnitudeNumber(Char, Char)

크기가 더 큰 컴퓨팅과 두 값을 비교하고 입력 NaN이 있는 경우 다른 값을 반환합니다.

INumberBase<Char>.MinMagnitude(Char, Char)

두 값을 더 작은 컴퓨팅과 비교합니다.

INumberBase<Char>.MinMagnitudeNumber(Char, Char)

크기가 작은 컴퓨팅과 두 값을 비교하고 입력 NaN이 있으면 다른 값을 반환합니다.

INumberBase<Char>.MultiplyAddEstimate(Char, Char, Char)

() + left.의 추정치를 * rightaddend 계산합니다.

INumberBase<Char>.One

형식의 값을 1 가져옵니다.

INumberBase<Char>.Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

문자 범위를 값으로 구문 분석합니다.

INumberBase<Char>.Parse(String, NumberStyles, IFormatProvider)

문자열을 값으로 구문 분석합니다.

INumberBase<Char>.Radix

형식의 radix 또는 base를 가져옵니다.

INumberBase<Char>.TryConvertFromChecked<TOther>(TOther, Char)

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

INumberBase<Char>.TryConvertFromSaturating<TOther>(TOther, Char)

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

INumberBase<Char>.TryConvertFromTruncating<TOther>(TOther, Char)

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

INumberBase<Char>.TryConvertToChecked<TOther>(Char, TOther)

현재 형식의 인스턴스를 다른 형식으로 변환하여 현재 형식의 표시 가능한 범위를 벗어나는 값에 대해 오버플로 예외를 throw합니다.

INumberBase<Char>.TryConvertToSaturating<TOther>(Char, TOther)

현재 형식의 인스턴스를 다른 형식으로 변환하여 현재 형식의 표현 가능한 범위를 벗어나는 값을 채도합니다.

INumberBase<Char>.TryConvertToTruncating<TOther>(Char, TOther)

현재 형식의 인스턴스를 다른 형식으로 변환하여 현재 형식의 표현 가능한 범위를 벗어나는 값을 잘리려고 합니다.

INumberBase<Char>.TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Char)

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

INumberBase<Char>.TryParse(String, NumberStyles, IFormatProvider, Char)

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

INumberBase<Char>.Zero

형식의 값을 0 가져옵니다.

IParsable<Char>.Parse(String, IFormatProvider)

문자열을 값으로 구문 분석합니다.

IParsable<Char>.TryParse(String, IFormatProvider, Char)

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

IShiftOperators<Char,Int32,Char>.LeftShift(Char, Int32)

지정된 양만큼 남은 값을 이동합니다.

IShiftOperators<Char,Int32,Char>.RightShift(Char, Int32)

값을 지정된 양만큼 오른쪽으로 이동합니다.

IShiftOperators<Char,Int32,Char>.UnsignedRightShift(Char, Int32)

값을 지정된 양만큼 오른쪽으로 이동합니다.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

현재 인스턴스의 값을 제공된 문자 범위로 서식을 지정하려고 시도합니다.

ISpanParsable<Char>.Parse(ReadOnlySpan<Char>, IFormatProvider)

문자 범위를 값으로 구문 분석합니다.

ISpanParsable<Char>.TryParse(ReadOnlySpan<Char>, IFormatProvider, Char)

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

ISubtractionOperators<Char,Char,Char>.CheckedSubtraction(Char, Char)

두 값을 빼서 차이를 계산합니다.

ISubtractionOperators<Char,Char,Char>.Subtraction(Char, Char)

두 값을 빼서 차이를 계산합니다.

IUnaryNegationOperators<Char,Char>.CheckedUnaryNegation(Char)

값의 확인된 단항 부정을 계산합니다.

IUnaryNegationOperators<Char,Char>.UnaryNegation(Char)

값의 단항 부정을 계산합니다.

IUnaryPlusOperators<Char,Char>.UnaryPlus(Char)

값의 단항 플러스를 계산합니다.

IUtf8SpanFormattable.TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider)

현재 인스턴스의 값을 제공된 바이트 범위로 UTF-8로 서식을 지정하려고 시도합니다.

IUtf8SpanParsable<Char>.Parse(ReadOnlySpan<Byte>, IFormatProvider)

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

IUtf8SpanParsable<Char>.TryParse(ReadOnlySpan<Byte>, IFormatProvider, Char)

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

적용 대상

스레드 보안

이 형식의 모든 멤버는 스레드로부터 안전합니다. 인스턴스 상태를 수정하는 것처럼 보이는 멤버는 실제로 새 값으로 초기화된 새 인스턴스를 반환합니다. 다른 형식과 마찬가지로 이 형식의 인스턴스를 포함하는 공유 변수에 대한 읽기 및 쓰기는 스레드 안전을 보장하기 위해 잠금으로 보호되어야 합니다.

추가 정보