Rune 구조체

정의

유니코드 스칼라 값([ U+0000..U+D7FF ], 포함 또는 [ U+E000..U+10FFFF ], 포함)을 나타냅니다.Represents a Unicode scalar value ([ U+0000..U+D7FF ], inclusive; or [ U+E000..U+10FFFF ], inclusive).

public value class Rune : IComparable, IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>
public value class Rune : IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>
public struct Rune : IComparable, IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>
public struct Rune : IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>
type Rune = struct
Public Structure Rune
Implements IComparable, IComparable(Of Rune), IEquatable(Of Rune)
Public Structure Rune
Implements IComparable(Of Rune), IEquatable(Of Rune)
상속
구현

설명

Rune인스턴스는 서로게이트 범위 (U + d 800.)를 제외한 모든 코드 포인트를 의미 하는 유니코드 스칼라 값을 나타냅니다. U + DFFF).A Rune instance represents a Unicode scalar value, which means any code point excluding the surrogate range (U+D800..U+DFFF). 형식의 생성자 및 변환 연산자는 입력의 유효성을 검사 하므로 소비자는 기본 인스턴스의 형식이 올바른 것으로 가정 하 고 Api를 호출할 수 있습니다 Rune .The type's constructors and conversion operators validate the input, so consumers can call the APIs assuming that the underlying Rune instance is well formed.

유니코드 스칼라 값, 코드 포인트, 서로게이트 범위 및 올바른 형식 용어에 익숙하지 않은 경우 .net의 문자 인코딩 소개를 참조 하세요.If you aren't familiar with the terms Unicode scalar value, code point, surrogate range, and well-formed, see Introduction to character encoding in .NET.

다음 섹션에서 설명 합니다.The following sections explain:

룬 유형을 사용 하는 경우When to use the Rune type

코드에 형식을 사용 하는 것이 좋습니다 Rune .Consider using the Rune type if your code:

  • 유니코드 스칼라 값이 필요한 Api를 호출 합니다.Calls APIs that require Unicode scalar values
  • 서로게이트 쌍을 명시적으로 처리 합니다.Explicitly handles surrogate pairs

유니코드 스칼라 값이 필요한 ApiAPIs that require Unicode scalar values

코드가 또는의 인스턴스를 반복 하는 경우 char string ReadOnlySpan<char> 일부 메서드는 char char 서로게이트 범위에 있는 인스턴스에서 제대로 작동 하지 않습니다.If your code iterates through the char instances in a string or a ReadOnlySpan<char>, some of the char methods won't work correctly on char instances that are in the surrogate range. 예를 들어 다음 Api를 사용 하려면 스칼라 값이 char 올바르게 작동 해야 합니다.For example, the following APIs require a scalar value char to work correctly:

다음 예제에서는 char 인스턴스가 서로게이트 코드 포인트인 경우 제대로 작동 하지 않는 코드를 보여 줍니다.The following example shows code that won't work correctly if any of the char instances are surrogate code points:

// THE FOLLOWING METHOD SHOWS INCORRECT CODE.
// DO NOT DO THIS IN A PRODUCTION APPLICATION.
int CountLettersBadExample(string s)
{
    int letterCount = 0;

    foreach (char ch in s)
    {
        if (char.IsLetter(ch))
        { letterCount++; }
    }

    return letterCount;
}

에서 작동 하는 동일한 코드는 ReadOnlySpan<char> 다음과 같습니다.Here's equivalent code that works with a ReadOnlySpan<char>:

// THE FOLLOWING METHOD SHOWS INCORRECT CODE.
// DO NOT DO THIS IN A PRODUCTION APPLICATION.
static int CountLettersBadExample(ReadOnlySpan<char> span)
{
    int letterCount = 0;

    foreach (char ch in span)
    {
        if (char.IsLetter(ch))
        { letterCount++; }
    }

    return letterCount;
}

위의 코드는 영어와 같은 일부 언어에서 제대로 작동 합니다.The preceding code works correctly with some languages such as English:

CountLettersInString("Hello")
// Returns 5

하지만 Osage와 같은 기본 다국어 평면 외부 언어의 경우에는 제대로 작동 하지 않습니다.But it won't work correctly for languages outside the Basic Multilingual Plane, such as Osage:

CountLettersInString("𐓏𐓘𐓻𐓘𐓻𐓟 𐒻𐓟")
// Returns 0

이 메서드가 Osage 텍스트에 대해 잘못 된 결과를 반환 하는 이유는 char osage 문자의 인스턴스가 서로게이트 코드 포인트인 것입니다.The reason this method returns incorrect results for Osage text is that the char instances for Osage letters are surrogate code points. 단일 서로게이트 코드 포인트가 문자 인지 여부를 확인 하는 데 충분 한 정보를 포함 하지 않습니다.No single surrogate code point has enough information to determine if it's a letter.

대신를 사용 하도록이 코드를 변경 하 Rune char 는 경우 메서드는 기본 다국어 평면 외부의 코드 위치에서 제대로 작동 합니다.If you change this code to use Rune instead of char, the method works correctly with code points outside the Basic Multilingual Plane:

int CountLetters(string s)
{
    int letterCount = 0;

    foreach (Rune rune in s.EnumerateRunes())
    {
        if (Rune.IsLetter(rune))
        { letterCount++; }
    }

    return letterCount;
}

에서 작동 하는 동일한 코드는 ReadOnlySpan<char> 다음과 같습니다.Here's equivalent code that works with a ReadOnlySpan<char>:

static int CountLetters(ReadOnlySpan<char> span)
{
    int letterCount = 0;

    foreach (Rune rune in span.EnumerateRunes())
    {
        if (Rune.IsLetter(rune))
        { letterCount++; }
    }

    return letterCount;
}

이전 코드는 Osage 문자를 올바르게 계산 합니다.The preceding code counts Osage letters correctly:

CountLettersInString("𐓏𐓘𐓻𐓘𐓻𐓟 𐒻𐓟")
// Returns 8

서로게이트 쌍을 명시적으로 처리 하는 코드Code that explicitly handles surrogate pairs

Rune코드에서 다음 메서드와 같이 서로게이트 코드 요소에 대해 명시적으로 작동 하는 api를 호출 하는 경우에는 형식을 사용 하는 것이 좋습니다.Consider using the Rune type if your code calls APIs that explicitly operate on surrogate code points, such as the following methods:

예를 들어 다음 메서드는 서로게이트 쌍을 처리 하는 특별 한 논리를 포함 합니다 char .For example, the following method has special logic to deal with surrogate char pairs:

static void ProcessStringUseChar(string s)
{
    Console.WriteLine("Using char");

    for (int i = 0; i < s.Length; i++)
    {
        if (!char.IsSurrogate(s[i]))
        {
            Console.WriteLine($"Code point: {(int)(s[i])}");
        }
        else if (i + 1 < s.Length && char.IsSurrogatePair(s[i], s[i + 1]))
        {
            int codePoint = char.ConvertToUtf32(s[i], s[i + 1]);
            Console.WriteLine($"Code point: {codePoint}");
            i++; // so that when the loop iterates it's actually +2
        }
        else
        {
            throw new Exception("String was not well-formed UTF-16.");
        }
    }
}

이러한 코드는 Rune 다음 예제와 같이를 사용 하는 경우 더 간단 합니다.Such code is simpler if it uses Rune, as in the following example:

static void ProcessStringUseRune(string s)
{
    Console.WriteLine("Using Rune");

    for (int i = 0; i < s.Length;)
    {
        if (!Rune.TryGetRuneAt(s, i, out Rune rune))
        {
            throw new Exception("String was not well-formed UTF-16.");
        }

        Console.WriteLine($"Code point: {rune.Value}");
        i += rune.Utf16SequenceLength; // increment the iterator by the number of chars in this Rune
    }
}

사용 하지 않는 경우 RuneWhen not to use Rune

Rune코드의 경우 형식을 사용할 필요가 없습니다.You don't need to use the Rune type if your code:

  • 정확히 char 일치 하는 항목을 찾습니다.Looks for exact char matches
  • 알려진 char 값에 대해 문자열을 분할 합니다.Splits a string on a known char value

코드를 사용 하는 Rune 경우 형식을 사용 하면 잘못 된 결과가 반환 될 수 있습니다.Using the Rune type may return incorrect results if your code:

  • 에서 표시 되는 문자 수를 계산 합니다. stringCounts the number of display characters in a string

정확히 char 일치 하는 항목 찾기Look for exact char matches

다음 코드에서는 string 특정 문자를 찾는를 반복 하 여 첫 번째 일치 항목의 인덱스를 반환 합니다.The following code iterates through a string looking for specific characters, returning the index of the first match. Rune단일로 표시 되는 문자를 찾기 위해 코드에서를 사용 하기 위해이 코드를 변경 하지 않아도 됩니다 char .There's no need to change this code to use Rune, as the code is looking for characters that are represented by a single char.

int GetIndexOfFirstAToZ(string s)
{
    for (int i = 0; i < s.Length; i++)
    {
        char thisChar = s[i];
        if ('A' <= thisChar && thisChar <= 'Z')
        {
            return i; // found a match
        }
    }

    return -1; // didn't find 'A' - 'Z' in the input string
}

알려진에서 문자열 분할 charSplit a string on a known char

string.Split ' ' ',' 다음 예제와 같이 (space) 또는 (쉼표)와 같은 구분 기호를 호출 하 고 사용 하는 것이 일반적입니다.It's common to call string.Split and use delimiters such as ' ' (space) or ',' (comma), as in the following example:

string inputString = "🐂, 🐄, 🐆";
string[] splitOnSpace = inputString.Split(' ');
string[] splitOnComma = inputString.Split(',');

Rune 코드는 단일로 표시 되는 문자를 찾기 때문에 여기서는 사용할 필요가 없습니다 char .There is no need to use Rune here, because the code is looking for characters that are represented by a single char.

에 표시 되는 문자 수를 계산 합니다. stringCount the number of display characters in a string

문자열 Rune 의 인스턴스 수가 문자열을 표시할 때 표시 되는 사용자 perceivable 문자 수와 일치 하지 않을 수 있습니다.The number of Rune instances in a string might not match the number of user-perceivable characters shown when displaying the string.

Rune인스턴스는 유니코드 스칼라 값을 나타내므로 유니코드 텍스트 조각화 지침 을 따르는 구성 요소는 Rune 표시 문자를 계산 하기 위한 빌딩 블록으로 사용할 수 있습니다.Since Rune instances represent Unicode scalar values, components that follow the Unicode text segmentation guidelines can use Rune as a building block for counting display characters.

StringInfo형식은 표시 문자를 계산 하는 데 사용할 수 있지만 .net 5 이외의 .net 구현에서는 모든 시나리오에서 올바르게 계산 되지 않습니다.The StringInfo type can be used to count display characters, but in implementations of .NET other than .NET 5 it doesn't count correctly in all scenarios.

자세한 내용은 Grapheme 클러스터를 참조 하세요.For more information, see Grapheme clusters.

을 인스턴스화하는 방법 RuneHow to instantiate a Rune

인스턴스를 가져오는 방법에는 여러 가지가 있습니다 Rune .There are several ways to get a Rune instance. 생성자를 사용 하 여에서 직접를 만들 수 있습니다 Rune .You can use a constructor to create a Rune directly from:

  • 코드 포인트입니다.A code point.

    Rune a = new Rune(0x0061); // LATIN SMALL LETTER A
    Rune b = new Rune(0x10421); // DESERET CAPITAL LETTER ER
    
  • 단일 char.A single char.

    Rune c = new Rune('a');
    
  • 서로게이트 char 쌍입니다.A surrogate char pair.

    Rune d = new Rune('\ud83d', '\udd2e'); // U+1F52E CRYSTAL BALL
    

ArgumentException입력이 유효한 유니코드 스칼라 값을 나타내지 않으면 모든 생성자가을 throw 합니다.All of the constructors throw an ArgumentException if the input doesn't represent a valid Unicode scalar value.

Rune.TryCreate오류 발생 시 예외를 throw 하지 않으려는 호출자에 게 사용할 수 있는 메서드가 있습니다.There are Rune.TryCreate methods available for callers who don't want exceptions to be thrown on failure.

Rune 기존 입력 시퀀스에서 인스턴스를 읽을 수도 있습니다.Rune instances can also be read from existing input sequences. 예를 들어 ReadOnlySpan<char> utf-16 데이터를 나타내는가 지정 된 경우 메서드는 Rune.DecodeFromUtf16 Rune 입력 범위의 시작 부분에 있는 첫 번째 인스턴스를 반환 합니다.For instance, given a ReadOnlySpan<char> that represents UTF-16 data, the Rune.DecodeFromUtf16 method returns the first Rune instance at the beginning of the input span. Rune.DecodeFromUtf8메서드는 ReadOnlySpan<byte> utf-8 데이터를 나타내는 매개 변수를 허용 하 여 비슷하게 작동 합니다.The Rune.DecodeFromUtf8 method operates similarly, accepting a ReadOnlySpan<byte> parameter that represents UTF-8 data. 범위가 시작 되는 대신 범위 끝에서 읽는 것과 동일한 메서드가 있습니다.There are equivalent methods to read from the end of the span instead of the beginning of the span.

의 쿼리 속성 RuneQuery properties of a Rune

인스턴스의 정수 코드 포인트 값을 가져오려면 속성을 Rune 사용 합니다 Rune.Value .To get the integer code point value of a Rune instance, use the Rune.Value property.

Rune rune = new Rune('\ud83d', '\udd2e'); // U+1F52E CRYSTAL BALL
int codePoint = rune.Value; // = 128302 decimal (= 0x1F52E)

형식에서 사용할 수 있는 대부분의 정적 Api는 char 형식 에서도 사용할 수 있습니다 Rune .Many of the static APIs available on the char type are also available on the Rune type. 예를 들어 Rune.IsWhiteSpaceRune.GetUnicodeCategoryChar.IsWhiteSpace 및 메서드와 동일 Char.GetUnicodeCategory 합니다.For instance, Rune.IsWhiteSpace and Rune.GetUnicodeCategory are equivalents to Char.IsWhiteSpace and Char.GetUnicodeCategory methods. Rune메서드는 서로게이트 쌍을 올바르게 처리 합니다.The Rune methods correctly handle surrogate pairs.

다음 예제 코드에서는를 ReadOnlySpan<char> 입력으로 사용 하 고 범위의 시작과 끝 모두에서 Rune 문자 또는 숫자가 아닌 모든 범위의를 사용 합니다.The following example code takes a ReadOnlySpan<char> as input and trims from both the start and the end of the span every Rune that isn't a letter or a digit.

static ReadOnlySpan<char> TrimNonLettersAndNonDigits(ReadOnlySpan<char> span)
{
    // First, trim from the front.
    // If any Rune can't be decoded
    // (return value is anything other than "Done"),
    // or if the Rune is a letter or digit,
    // stop trimming from the front and
    // instead work from the end.
    while (Rune.DecodeFromUtf16(span, out Rune rune, out int charsConsumed) == OperationStatus.Done)
    {
        if (Rune.IsLetterOrDigit(rune))
        { break; }
        span = span[charsConsumed..];
    }

    // Next, trim from the end.
    // If any Rune can't be decoded,
    // or if the Rune is a letter or digit,
    // break from the loop, and we're finished.
    while (Rune.DecodeLastFromUtf16(span, out Rune rune, out int charsConsumed) == OperationStatus.Done)
    {
        if (Rune.IsLetterOrDigit(rune))
        { break; }
        span = span[..^charsConsumed];
    }

    return span;
}

와 사이에는 몇 가지 API 차이가 있습니다 char Rune .There are some API differences between char and Rune. 예를 들어:For example:

Rune u t f-8 또는 u t f-16으로 변환 합니다.Convert a Rune to UTF-8 or UTF-16

Rune 유니코드 스칼라 값 이므로 utf-8, utf-16 또는 utf-32 인코딩으로 변환할 수 있습니다.Since a Rune is a Unicode scalar value, it can be converted to UTF-8, UTF-16, or UTF-32 encoding. 형식에는 Rune u t f-8 및 u t f-16으로의 변환을 기본적으로 지원 합니다.The Rune type has built-in support for conversion to UTF-8 and UTF-16.

Rune.EncodeToUtf16 인스턴스를 Rune 인스턴스로 변환 합니다 char .The Rune.EncodeToUtf16 converts a Rune instance to char instances. char Rune 인스턴스를 u t f-16으로 변환 하 여 발생 하는 인스턴스 수를 쿼리하려면 속성을 사용 합니다 Rune.Utf16SequenceLength .To query the number of char instances that would result from converting a Rune instance to UTF-16, use the Rune.Utf16SequenceLength property. UTF-8 변환에는 유사한 메서드가 있습니다.Similar methods exist for UTF-8 conversion.

다음 예에서는 인스턴스를 Rune 배열로 변환 합니다 char .The following example converts a Rune instance to a char array. 이 코드는 변수에 인스턴스가 있다고 가정 합니다 Rune rune .The code assumes you have a Rune instance in the rune variable:

char[] chars = new char[rune.Utf16SequenceLength];
int numCharsWritten = rune.EncodeToUtf16(chars);

string utf-16 문자 시퀀스 이므로 다음 예제에서는 Rune 인스턴스를 u t f-16으로 변환 합니다.Since a string is a sequence of UTF-16 chars, the following example also converts a Rune instance to UTF-16:

string theString = rune.ToString();

다음 예에서는 인스턴스를 Rune UTF-8 바이트 배열로 변환 합니다.The following example converts a Rune instance to a UTF-8 byte array:

byte[] bytes = new byte[rune.Utf8SequenceLength];
int numBytesWritten = rune.EncodeToUtf8(bytes);

Rune.EncodeToUtf16Rune.EncodeToUtf8 메서드는 쓰여진 실제 요소 수를 반환 합니다.The Rune.EncodeToUtf16 and Rune.EncodeToUtf8 methods return the actual number of elements written. 대상 버퍼가 너무 짧아 결과를 포함 하지 않을 경우 예외를 throw 합니다.They throw an exception if the destination buffer is too short to contain the result. TryEncodeToUtf8예외를 방지 하려는 호출자에 게는 throw 되지 않는 EncodeToUtf16 메서드와 메서드도 있습니다.There are non-throwing TryEncodeToUtf8 and EncodeToUtf16 methods as well for callers who want to avoid exceptions.

.NET의 룬 및 기타 언어Rune in .NET vs. other languages

"룬" 이라는 용어는 유니코드 표준에 정의 되어 있지 않습니다.The term "rune" is not defined in the Unicode Standard. U t f-8의 생성에 대 한 기간입니다.The term dates back to the creation of UTF-8. Rob Pike 및 켄은 Thompson은 궁극적으로 코드 지점으로 알려진 사항을 설명 하기 위해 용어를 찾고 있습니다.Rob Pike and Ken Thompson were looking for a term to describe what would eventually become known as a code point. "룬" 이라는 용어에 합의, Rob pike는 용어를 popularize 하는 데 도움이 되는 Go 프로그래밍 언어에 영향을 줍니다.They settled on the term "rune", and Rob Pike's later influence over the Go programming language helped popularize the term.

그러나 .NET Rune 형식은 Go 형식과 동일 하지 않습니다 rune .However, the .NET Rune type is not the equivalent of the Go rune type. Go에서 rune 형식은 에 대 한 int32 별칭 입니다.In Go, the rune type is an alias for int32. 이동 룬은 유니코드 코드 포인트를 나타내기 위한 것 이지만, 올바른 유니코드 코드 포인트가 아닌 서로게이트 코드 포인트 및 값을 포함 하 여 모든 32 비트 값일 수 있습니다.A Go rune is intended to represent a Unicode code point, but it can be any 32-bit value, including surrogate code points and values that are not legal Unicode code points.

다른 프로그래밍 언어에 대 한 유사한 형식의 경우 Rust의 기본 char 형식 또는 Swift의 Unicode.Scalar 형식(둘 다 유니코드 스칼라 값을 나타냄)을 참조 하세요.For similar types in other programming languages, see Rust's primitive char type or Swift's Unicode.Scalar type, both of which represent Unicode scalar values. 과 비슷한 기능을 제공 합니다. NET의 Rune 형식으로, 올바른 유니코드 스칼라 값이 아닌 값의 인스턴스화를 허용 하지 않습니다.They provide functionality similar to .NET's Rune type, and they disallow instantiation of values that are not legal Unicode scalar values.

생성자

Rune(Char)

제공된 UTF-16 코드 단위에서 Rune을 만듭니다.Creates a Rune from the provided UTF-16 code unit.

Rune(Char, Char)

제공된 UTF-16 서로게이트 쌍에서 Rune을 만듭니다.Creates a Rune from the provided UTF-16 surrogate pair.

Rune(Int32)

유니코드 스칼라 값을 나타내는 지정된 32비트 정수에서 Rune를 만듭니다.Creates a Rune from the specified 32-bit integer that represents a Unicode scalar value.

Rune(UInt32)

유니코드 스칼라 값을 나타내는 지정된 32비트 부호 없는 정수에서 Rune를 만듭니다.Creates a Rune from the specified 32-bit unsigned integer that represents a Unicode scalar value.

속성

IsAscii

Rune과 연결된 스칼라 값이 ASCII 인코딩 범위에 포함되어 있는지 표시하는 값을 가져옵니다.Gets a value that indicates whether the scalar value associated with this Rune is within the ASCII encoding range.

IsBmp

Rune과 연결된 스칼라 값이 BMP 인코딩 범위에 포함되어 있는지 표시하는 값을 가져옵니다.Gets a value that indicates whether the scalar value associated with this Rune is within the BMP encoding range.

Plane

이 스칼라를 포함하는 유니코드 평면(0 ~ 16, 포함)을 가져옵니다.Gets the Unicode plane (0 to 16, inclusive) that contains this scalar.

ReplacementChar

유니코드 대체 문자 U+FFFD를 나타내는 Rune 인스턴스를 가져옵니다.Gets a Rune instance that represents the Unicode replacement character U+FFFD.

Utf16SequenceLength

이 스칼라 값을 나타내는 데 필요한 UTF-16 시퀀스의 코드 단위(Char)의 길이를 가져옵니다.Gets the length in code units (Char) of the UTF-16 sequence required to represent this scalar value.

Utf8SequenceLength

이 스칼라 값을 나타내는 데 필요한 UTF-8 시퀀스의 코드 단위의 길이를 가져옵니다.Gets the length in code units of the UTF-8 sequence required to represent this scalar value.

Value

유니코드 스칼라 값을 정수로 가져옵니다.Gets the Unicode scalar value as an integer.

메서드

CompareTo(Rune)

현재 인스턴스를 지정된 Rune 인스턴스와 비교합니다.Compares the current instance to the specified Rune instance.

DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32)

제공된 UTF-16 소스 버퍼의 시작 부분에서 Rune을 디코딩합니다.Decodes the Rune at the beginning of the provided UTF-16 source buffer.

DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)

제공된 UTF-8 소스 버퍼의 시작 부분에서 Rune을 디코딩합니다.Decodes the Rune at the beginning of the provided UTF-8 source buffer.

DecodeLastFromUtf16(ReadOnlySpan<Char>, Rune, Int32)

제공된 UTF-16 소스 버퍼의 끝부분에서 Rune을 디코딩합니다.Decodes the Rune at the end of the provided UTF-16 source buffer.

DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)

제공된 UTF-8 소스 버퍼의 끝 부분에서 Rune을 디코딩합니다.Decodes the Rune at the end of the provided UTF-8 source buffer.

EncodeToUtf16(Span<Char>)

Rune을 UTF-16 대상 버퍼로 인코딩합니다.Encodes this Rune to a UTF-16 destination buffer.

EncodeToUtf8(Span<Byte>)

Rune을 UTF-8 대상 버퍼로 인코딩합니다.Encodes this Rune to a UTF-8 destination buffer.

Equals(Object)

현재 인스턴스와 지정된 개체가 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified object are equal.

Equals(Rune)

현재 인스턴스와 지정된 rune이 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether the current instance and a specified rune are equal.

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

GetNumericValue(Rune)

지정된 rune과 연결된 숫자 값을 가져옵니다.Gets the numeric value associated with the specified rune.

GetRuneAt(String, Int32)

문자열의 지정된 위치에서 시작하는 Rune을 가져옵니다.Gets the Rune that begins at a specified position in a string.

GetUnicodeCategory(Rune)

지정된 rune에 연결된 유니코드 범주를 가져옵니다.Gets the Unicode category associated with the specified rune.

IsControl(Rune)

지정된 rune을 제어 문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a control character.

IsDigit(Rune)

지정된 rune을 10진수로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a decimal digit.

IsLetter(Rune)

지정된 rune을 문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a letter.

IsLetterOrDigit(Rune)

지정된 rune을 문자로 분류할지 아니면 10진수로 분류할지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a letter or a decimal digit.

IsLower(Rune)

지정된 rune을 소문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a lowercase letter.

IsNumber(Rune)

지정된 rune을 숫자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a number.

IsPunctuation(Rune)

지정된 rune을 구두점으로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a punctuation mark.

IsSeparator(Rune)

지정된 rune을 구분 문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a separator character.

IsSymbol(Rune)

지정된 rune을 기호 문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a symbol character.

IsUpper(Rune)

지정된 rune을 대문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as an uppercase letter.

IsValid(Int32)

32비트 부호 있는 정수가 올바른 유니코드 스칼라 값, 즉 U+0000..U+D7FF 또는 U+E000..U+10FFFF 범위에 있는지 나타내는 값을 반환합니다.Returns a value that indicates whether a 32-bit signed integer represents a valid Unicode scalar value; that is, it is in the range [ U+0000..U+D7FF ], inclusive; or [ U+E000..U+10FFFF ], inclusive.

IsValid(UInt32)

32비트 부호 없는 정수가 올바른 유니코드 스칼라 값, 즉 U+0000..U+D7FF 또는 U+E000..U+10FFFF 범위에 있는지 나타내는 값을 반환합니다.Returns a value that indicates whether a 32-bit unsigned integer represents a valid Unicode scalar value; that is, it is in the range [ U+0000..U+D7FF ], inclusive, or [ U+E000..U+10FFFF ], inclusive.

IsWhiteSpace(Rune)

지정된 rune을 공백 문자로 분류하는지 표시하는 값을 반환합니다.Returns a value that indicates whether the specified rune is categorized as a white space character.

ToLower(Rune, CultureInfo)

지정한 문화권의 대/소문자 규칙을 사용하여 소문자로 변환되는 지정된 Rune의 복사본을 반환합니다.Returns a copy of the specified Rune converted to lowercase, using the casing rules of the specified culture.

ToLowerInvariant(Rune)

고정 문화권의 대/소문자 규칙을 사용하여 소문자로 변환된 지정된 Rune의 복사본을 반환합니다.Returns a copy of the specified Rune converted to lowercase using the casing rules of the invariant culture.

ToString()

Rune 인스턴스의 문자열 표현을 반환합니다.Returns the string representation of this Rune instance.

ToUpper(Rune, CultureInfo)

고정 문화권의 대/소문자 규칙을 사용하여 대문자로 변환되는 지정된 Rune의 복사본을 반환합니다.Returns a copy of the specified Rune converted to uppercase, using the casing rules of the specified culture.

ToUpperInvariant(Rune)

고정 문화권의 대/소문자 규칙을 사용하여 대문자로 변환된 지정된 Rune의 복사본을 반환합니다.Returns a copy of the specified Rune converted to uppercase using the casing rules of the invariant culture.

TryCreate(Char, Char, Rune)

지정된 UTF-16 서로게이트 쌍에서 Rune을 만들고 작업이 성공했는지 나타내는 값을 반환합니다.Attempts to create a Rune from the specified UTF-16 surrogate pair and returns a value that indicates whether the operation was successful.

TryCreate(Char, Rune)

지정된 문자에서 Rune을 만들려고 시도하며 작업이 성공했는지 나타내는 값을 반환합니다.Attempts to create a Rune from a specified character and returns a value that indicates whether the operation succeeded.

TryCreate(Int32, Rune)

유니코드 스칼라 값을 나타내는 지정된 부호 있는 정수에서 Rune을 만듭니다.Attempts to create a Rune from a specified signed integer that represents a Unicode scalar value.

TryCreate(UInt32, Rune)

유니코드 스칼라 값을 나타내는 지정된 32비트 부호 없는 정수에서 Rune을 만듭니다.Attempts to create a Rune from the specified 32-bit unsigned integer that represents a Unicode scalar value.

TryEncodeToUtf16(Span<Char>, Int32)

Rune을 UTF-16으로 인코딩된 대상 버퍼로 인코딩합니다.Encodes this Rune to a UTF-16 encoded destination buffer.

TryEncodeToUtf8(Span<Byte>, Int32)

Rune을 UTF-8로 인코딩된 대상 버퍼로 인코딩합니다.Encodes this Rune to a UTF-8 encoded destination buffer.

TryGetRuneAt(String, Int32, Rune)

문자열의 지정된 위치에서 시작하는 Rune을 가져오고 작업에 성공했는지 나타내는 값을 반환합니다.Attempts to get the Rune that begins at a specified position in a string, and return a value that indicates whether the operation succeeded.

연산자

Equality(Rune, Rune)

Rune 인스턴스가 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether two Rune instances are equal.

Explicit(Char to Rune)

16비트 유니코드 문자를 Rune로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a 16-bit Unicode character to a Rune.

Explicit(Int32 to Rune)

32비트 부호 있는 정수를 Rune로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a 32-bit signed integer to a Rune.

Explicit(UInt32 to Rune)

32비트 부호 없는 정수를 Rune로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a 32-bit unsigned integer to a Rune.

GreaterThan(Rune, Rune)

지정된 Rune이 지정된 다른 Rune보다 큰지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether a specified Rune is greater than another specified Rune.

GreaterThanOrEqual(Rune, Rune)

지정된 Rune이 지정된 다른 Rune보다 크거나 같은지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether a specified Rune is greater than or equal to another specified Rune.

Inequality(Rune, Rune)

Rune 인스턴스의 값이 다른지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether two Rune instances have different values.

LessThan(Rune, Rune)

지정된 Rune이 지정된 다른 Rune보다 작은지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether a specified Rune is less than another specified Rune.

LessThanOrEqual(Rune, Rune)

지정된 Rune이 지정된 다른 Rune보다 작거나 같은지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether a specified Rune is less than or equal to another specified Rune.

명시적 인터페이스 구현

IComparable.CompareTo(Object)

현재 인스턴스를 지정된 개체와 비교합니다.Compares the current instance to the specified object.

적용 대상