Rune Yapı

Tanım

Unicode skaler değerini ([ U+0000..U+D7FF ], dahil; veya [ U+E000.. U+10FFFF ], dahil).

public value class Rune : IComparable, IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>, ISpanFormattable, IUtf8SpanFormattable, IUtf8SpanParsable<System::Text::Rune>
public value class Rune : IComparable, IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>
public value class Rune : IComparable, IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>, ISpanFormattable
public value class Rune : IComparable, IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>, ISpanFormattable, IUtf8SpanFormattable
public value class Rune : IComparable<System::Text::Rune>, IEquatable<System::Text::Rune>
public readonly struct Rune : IComparable, IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>, ISpanFormattable, IUtf8SpanFormattable, IUtf8SpanParsable<System.Text.Rune>
public readonly struct Rune : IComparable, IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>
public readonly struct Rune : IComparable, IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>, ISpanFormattable
public readonly struct Rune : IComparable, IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>, ISpanFormattable, IUtf8SpanFormattable
public readonly struct Rune : IComparable<System.Text.Rune>, IEquatable<System.Text.Rune>
type Rune = struct
    interface IFormattable
    interface ISpanFormattable
    interface IUtf8SpanFormattable
    interface IUtf8SpanParsable<Rune>
type Rune = struct
type Rune = struct
    interface ISpanFormattable
    interface IFormattable
type Rune = struct
    interface IFormattable
    interface ISpanFormattable
type Rune = struct
    interface IFormattable
    interface ISpanFormattable
    interface IUtf8SpanFormattable
Public Structure Rune
Implements IComparable, IComparable(Of Rune), IEquatable(Of Rune), ISpanFormattable, IUtf8SpanFormattable, IUtf8SpanParsable(Of Rune)
Public Structure Rune
Implements IComparable, IComparable(Of Rune), IEquatable(Of Rune)
Public Structure Rune
Implements IComparable, IComparable(Of Rune), IEquatable(Of Rune), ISpanFormattable
Public Structure Rune
Implements IComparable, IComparable(Of Rune), IEquatable(Of Rune), ISpanFormattable, IUtf8SpanFormattable
Public Structure Rune
Implements IComparable(Of Rune), IEquatable(Of Rune)
Devralma
Uygulamalar

Açıklamalar

Bir Rune örneği, vekil aralığı (U+D800..U+DFFF) hariç herhangi bir kod noktasını temsil eden bir Unicode skaler değeri ifade eder. Türün oluşturucuları ve dönüştürme işleçleri girişi doğrular, böylece tüketiciler temel alınan Rune örneğin iyi biçimlendirildiğini varsayarak API'leri çağırabilir.

Unicode skaler değeri, kod noktası, vekil aralık ve iyi biçimlendirilmiş terimleri bilmiyorsanız bkz. .NET'te karakter kodlamaya giriş.

Rune türü ne zaman kullanılır?

Eğer kodunuz: Rune türünü kullanmayı göz önünde bulundurun.

  • Unicode skaler değerleri gerektiren API'leri çağırır
  • Vekil çiftleri açıkça işler

Unicode skaler değerleri gerektiren API'ler

Kodunuz bir char veya string içindeki ReadOnlySpan<char> örneklerini yineliyorsa, bazı char yöntemleri vekil aralığında bulunan char örneklerinde düzgün çalışmayabilir. Örneğin, aşağıdaki API'lerin düzgün çalışması için skaler bir değer char gerekir:

Aşağıdaki örnek, herhangi bir char örneği vekil kod noktasıysa düzgün çalışmayan kodu göstermektedir.

// 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;
}
// THE FOLLOWING METHOD SHOWS INCORRECT CODE.
// DO NOT DO THIS IN A PRODUCTION APPLICATION.
let countLettersBadExample (s: string) =
    let mutable letterCount = 0

    for ch in s do
        if Char.IsLetter ch then
            letterCount <- letterCount + 1
    
    letterCount

İşte ReadOnlySpan<char> ile çalışan eşdeğer bir kod:

// 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;
}

Yukarıdaki kod, İngilizce gibi bazı dillerde düzgün çalışır:

CountLettersInString("Hello")
// Returns 5

Ancak, Osage gibi Temel Çok Dilli Düzlem dışındaki diller için düzgün çalışmaz:

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

Bu yöntemin Osage metni için yanlış sonuçlar döndürmesinin nedeni, Osage harfleri örneklerinin char vekil kod noktaları olmasıdır. Hiçbir vekil kod noktası, bunun bir harf olup olmadığını belirlemek için yeterli bilgiye sahip değildir.

Bu kodu Rune yerine char kullanacak şekilde değiştirirseniz, yöntem Temel Çok Dilli Düzlem dışındaki kod noktalarıyla doğru şekilde çalışır.

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

İşte ReadOnlySpan<char> ile çalışan eşdeğer bir kod:

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

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

    return letterCount;
}

Önceki kod, Osage harflerini doğru bir şekilde sayar.

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

Vekil çiftleri açıkça işleyen kod

Eğer kodunuz aşağıdaki yöntemler gibi vekil kod noktaları üzerinde açıkça çalışan API'leri çağırıyorsa Rune türünü kullanmayı düşünün:

Örneğin, aşağıdaki yöntemin vekil char çiftleriyle ilgilenmek için özel mantığı vardır:

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.");
        }
    }
}

Bu tür kod, aşağıdaki örnekte olduğu gibi kullanırsa Runedaha basittir:

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
    }
}

Ne zaman kullanılmaması gerekiyor? Rune

Kodunuz Rune türünü kullanmanızı gerektirmiyorsa:

  • Tam char eşleşmeleri arar
  • Bilinen bir karakter değerindeki bir dizeyi böler

Kodunuz Rune türünü kullanıyorsa yanlış sonuçlar döndürebilir.

  • Bir string içindeki görüntü karakterlerinin sayısını sayar.

Tam char eşleşmeleri arayın

Aşağıdaki kod, belirli karakterleri aramak için string içinde yineleme yaparak ilk eşleşmenin dizinini döndürür. Kod, bir Rune ile temsil edilen karakterleri aradığından, char kullanacak şekilde bu kodu değiştirmenize gerek yoktur.

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
}

Bilinen bir dizeyi bölme char

Aşağıdaki örnekte olduğu gibi string.Split çağırmak ve ' ' (boşluk) veya ',' (virgül) gibi ayraçlar kullanmak yaygın bir durumdur.

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

Bu kod, tek bir karakterle temsil edilen Rune aradığından char burada kullanılması gerekmez.

Bir string içindeki görüntüleme karakterlerinin sayısını sayma

Dizedeki örnek sayısı Rune , dize görüntülenirken gösterilen kullanıcı tarafından algılanabilir karakterlerin sayısıyla eşleşmeyebilir.

Rune Örnekler Unicode skaler değerlerini temsil ettiğinden, Unicode metin kesimleme yönergelerini izleyen bileşenler, görüntüleme karakterlerini saymak için yapı taşı olarak kullanabilirRune.

Tür StringInfo, görüntüleme karakterlerini saymak için kullanılabilir, ancak .NET 5+'ı içermeyen diğer .NET uygulamaları için tüm senaryolarda doğru şekilde saymaz.

Daha fazla bilgi için bkz. Grapheme kümeleri.

Bir Rune örneği nasıl oluşturulur

Bir Rune örneği elde etmenin birkaç yolu vardır. Bir oluşturucuyu kullanarak Rune aşağıdaki kaynaktan doğrudan oluşturabilirsiniz:

  • Bir kod noktası.

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

    Rune c = new Rune('a');
    
  • Bir vekil char çifti.

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

Giriş geçerli bir Unicode skaler değerini temsil etmiyorsa, oluşturucuların tümü bir ArgumentException oluşturur.

Başarısızlık durumunda istisnaların atılmasını istemeyen arayanlar için Rune.TryCreate kullanılabilir yöntemler vardır.

Rune örnekler mevcut giriş dizilerinden de okunabilir. Örneğin, UTF-16 verilerini temsil eden bir ReadOnlySpan<char> ver alındığında Rune.DecodeFromUtf16 , yöntem giriş aralığının başındaki ilk Rune örneği döndürür. yöntemi, Rune.DecodeFromUtf8 UTF-8 verilerini temsil eden bir ReadOnlySpan<byte> parametre kabul ederek benzer şekilde çalışır. Aralığın başlangıcı yerine, aralığın sonundan okumayı sağlayan eşdeğer yöntemler vardır.

Bir Rune'nın sorgu özellikleri

Bir Rune örneğinin tamsayı kod noktası değerini almak için Rune.Value özelliğini kullanın.

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

Birçok statik API char türünde kullanılabileceği gibi Rune türünde de kullanılabilir. Örneğin, Rune.IsWhiteSpace ve Rune.GetUnicodeCategoryChar.IsWhiteSpace yöntemleriyle Char.GetUnicodeCategory eşdeğerdir. Rune Yöntemler vekil çiftleri doğru şekilde işler.

Aşağıdaki örnek kod ReadOnlySpan<char>'yi girdi olarak alır ve hem başlangıçtan hem de metin aralığının sonundan harf veya basamak olmayan her Rune karakterini kırpar.

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;
}

char ile Rune arasında bazı API farklılıkları vardır. Örneğin:

Bir Rune'yi UTF-8 veya UTF-16'ya dönüştürün.

bir Rune Unicode skaler değeri olduğundan UTF-8, UTF-16 veya UTF-32 kodlamasına dönüştürülebilir. Türü, Rune UTF-8 ve UTF-16'ya dönüştürme için yerleşik desteğe sahiptir.

Rune.EncodeToUtf16 bir Rune örneğini char örneklerine dönüştürür. Bir char örneğinin UTF-16'ya dönüştürülmesinin sonucunda ortaya çıkacak olan Rune örnek sayısını sorgulamak için Rune.Utf16SequenceLength özelliğini kullanın. UTF-8 dönüştürmesi için benzer yöntemler vardır.

Aşağıdaki örnek bir Rune örneği diziye char dönüştürür. Kod, değişkeninde Rune bir rune örneğinin olduğunu varsayar:

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

a string , UTF-16 karakterlerinden oluşan bir dizi olduğundan, aşağıdaki örnek de bir Rune örneği UTF-16'ya dönüştürür:

string theString = rune.ToString();

Aşağıdaki örnek bir Rune örneği bayt UTF-8 dizisine dönüştürür:

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

Rune.EncodeToUtf16 ve Rune.EncodeToUtf8 yöntemleri, yazılan öğelerin gerçek sayısını döndürür. Hedef arabellek sonucu içerecek kadar geniş değilse, bir istisna atarlar. İstisnalardan kaçınmak isteyen arayanlar için istisna fırlatmayan TryEncodeToUtf8 ve TryEncodeToUtf16 yöntemleri de bulunmaktadır.

.NET'teki Rune ve diğer diller karşılaştırması

"rune" terimi Unicode Standard'da tanımlanmamıştır. Terim UTF-8'in oluşturulmasına kadar uzanacak. Rob Pike ve Ken Thompson, sonunda kod noktası olarak neyin bilineceğini açıklamak için bir terim arıyorlardı. "Rune" terimine yerleştiler ve Rob Pike'ın go programlama dili üzerindeki daha sonraki etkisi terimin popülerleştirilmesine yardımcı oldu.

Ancak, .NET Rune türü Go rune türünün eşdeğeri değildir. Go'da rune türü, int32 için bir takma addır. Go 'rune' türü, bir Unicode kod noktasını temsil etmesi amaçlanmıştır, ancak vekil kod noktaları ve yasal Unicode kod noktaları olmayan değerler de dahil olmak üzere herhangi bir 32 bit değer olabilir.

Diğer programlama dillerindeki benzer türler için Rust'ın ilkel char türüne veya Swift'in Unicode.Scalar türüne (her ikisi de Unicode skaler değerlerini temsil eder) bakın. .NET'in Rune türüne benzer işlevler sağlarlar ve yasal Unicode skaler değerleri olmayan değerlerin örneklenmesine izin vermezler.

Oluşturucular

Name Description
Rune(Char, Char)

Sağlanan UTF-16 vekil çiftinden bir Rune oluşturur.

Rune(Char)

Sağlanan UTF-16 kod biriminden bir Rune oluşturur.

Rune(Int32)

Rune Belirtilen 32 bitlik tamsayıdan Unicode skaler değerini temsil eden bir oluşturur.

Rune(UInt32)

Rune Belirtilen 32 bit işaretsiz tamsayıdan Unicode skaler değerini temsil eden bir oluşturur.

Özellikler

Name Description
IsAscii

Bununla Rune ilişkili skaler değerin ASCII kodlama aralığında olup olmadığını gösteren bir değer alır.

IsBmp

Bununla Rune ilişkili skaler değerin BMP kodlama aralığında olup olmadığını gösteren bir değer alır.

Plane

Bu skaler değeri içeren Unicode düzlemini (0 ile 16 arasında) alır.

ReplacementChar

Unicode değiştirme karakterini temsil eden bir Rune örnek alır U+FFFD.

Utf16SequenceLength

Bu skaler değeri temsil etmek için gereken UTF-16 dizisinin kod birimlerindeki (Char) uzunluğu alır.

Utf8SequenceLength

Bu skaler değeri göstermek için gereken UTF-8 dizisinin kod birimlerindeki uzunluğu alır.

Value

Unicode skaler değerini tamsayı olarak alır.

Yöntemler

Name Description
CompareTo(Rune)

Geçerli örneği belirtilen Rune örnekle karşılaştırır.

DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32)

Sağlanan UTF-16 kaynak arabelleğinin başındaki kodunu çözer Rune .

DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)

Sağlanan UTF-8 kaynak arabelleğinin başındaki kodunu çözer Rune .

DecodeLastFromUtf16(ReadOnlySpan<Char>, Rune, Int32)

Sağlanan UTF-16 kaynak arabelleğinin sonundaki kodunu çözer Rune .

DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)

Sağlanan UTF-8 kaynak arabelleğinin sonundaki kodunu çözer Rune .

EncodeToUtf16(Span<Char>)

Bunu Rune utf-16 hedef arabelleğine kodlar.

EncodeToUtf8(Span<Byte>)

Bunu Rune utf-8 hedef arabelleğine kodlar.

Equals(Object)

Geçerli örneğin ve belirtilen bir nesnenin eşit olup olmadığını gösteren bir değer döndürür.

Equals(Rune, StringComparison)

Unicode skaler değerini ([ U+0000..U+D7FF ], dahil; veya [ U+E000.. U+10FFFF ], dahil).

Equals(Rune)

Geçerli örneğin ve belirtilen bir çalıştırmanın eşit olup olmadığını gösteren bir değer döndürür.

GetHashCode()

Bu örneğin karma kodunu döndürür.

GetNumericValue(Rune)

Belirtilen çalıştırmayla ilişkili sayısal değeri alır.

GetRuneAt(String, Int32)

Dizede Rune belirtilen konumda başlayan değerini alır.

GetUnicodeCategory(Rune)

Belirtilen çalıştırmayla ilişkili Unicode kategorisini alır.

IsControl(Rune)

Belirtilen çalıştırmanın denetim karakteri olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsDigit(Rune)

Belirtilen çalıştırmanın ondalık basamak olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsLetter(Rune)

Belirtilen çalıştırmanın harf olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsLetterOrDigit(Rune)

Belirtilen çalıştırmanın harf mi yoksa ondalık basamak olarak mı kategorilere ayrılmış olduğunu gösteren bir değer döndürür.

IsLower(Rune)

Belirtilen çalıştırmanın küçük harf olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsNumber(Rune)

Belirtilen çalıştırmanın sayı olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsPunctuation(Rune)

Belirtilen çalıştırmanın noktalama işareti olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsSeparator(Rune)

Belirtilen çalıştırmanın ayırıcı karakter olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsSymbol(Rune)

Belirtilen çalıştırmanın sembol karakteri olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsUpper(Rune)

Belirtilen çalıştırmanın büyük harf olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

IsValid(Int32)

32 bit imzalı tamsayının geçerli bir Unicode skaler değerini temsil edip etmediğini gösteren bir değer döndürür; yani [ U+0000..U+D7FF ], dahil; veya [ U+E000.. U+10FFFF ], dahil.

IsValid(UInt32)

32 bit işaretsiz tamsayının geçerli bir Unicode skaler değerini temsil edip etmediğini gösteren bir değer döndürür; diğer bir deyişle[ U+0000..U+D7FF ], dahil veya [ U+E000.. aralığındadır. U+10FFFF ], dahil.

IsWhiteSpace(Rune)

Belirtilen çalıştırmanın boşluk karakteri olarak kategorilere ayrılmış olup olmadığını gösteren bir değer döndürür.

ToLower(Rune, CultureInfo)

Belirtilen Rune kültürün büyük/küçük harfe dönüştürülen bir kopyasını döndürür.

ToLowerInvariant(Rune)

Sabit kültürün büyük/küçük harfe dönüştürülen belirtilen Rune kopyasını döndürür.

ToString()

Bu Rune örneğin dize gösterimini döndürür.

ToUpper(Rune, CultureInfo)

Belirtilen Rune kültürün büyük/küçük harf kurallarını kullanarak belirtilen büyük harfe dönüştürülen bir kopyasını döndürür.

ToUpperInvariant(Rune)

Sabit kültürün büyük/küçük harf kurallarını kullanarak belirtilen Rune büyük harfe dönüştürülen bir kopyasını döndürür.

TryCreate(Char, Char, Rune)

Belirtilen UTF-16 vekil çiftinden bir Rune oluşturmaya çalışır ve işlemin başarılı olup olmadığını gösteren bir değer döndürür.

TryCreate(Char, Rune)

Belirtilen karakterden bir Rune oluşturma girişiminde bulunur ve işlemin başarılı olup olmadığını gösteren bir değer döndürür.

TryCreate(Int32, Rune)

Unicode skaler değerini temsil eden belirtilen imzalı tamsayıdan bir oluşturma Rune girişiminde bulunur.

TryCreate(UInt32, Rune)

Unicode skaler değerini temsil eden belirtilen 32 bit işaretsiz tamsayıdan bir oluşturmaya Rune çalışır.

TryEncodeToUtf16(Span<Char>, Int32)

Bunu Rune UTF-16 ile kodlanmış hedef arabelleğe kodlar.

TryEncodeToUtf8(Span<Byte>, Int32)

Bunu Rune UTF-8 ile kodlanmış hedef arabelleğe kodlar.

TryGetRuneAt(String, Int32, Rune)

Dizede Rune belirtilen konumda başlayan değerini almaya çalışır ve işlemin başarılı olup olmadığını gösteren bir değer döndürür.

İşleçler

Name Description
Equality(Rune, Rune)

İki Rune örneğin eşit olup olmadığını gösteren bir değer döndürür.

Explicit(Char to Rune)

16 bit Unicode karakterinin öğesine açık dönüştürmesini Runetanımlar.

Explicit(Int32 to Rune)

32 bit imzalı bir tamsayıya açık bir Runedönüştürmeyi tanımlar.

Explicit(UInt32 to Rune)

32 bit işaretsiz tamsayıya açık dönüştürmeyi Runetanımlar.

GreaterThan(Rune, Rune)

Belirtilen Rune değerin belirtilen başka Runebir değerinden büyük olup olmadığını belirten bir değer döndürür.

GreaterThanOrEqual(Rune, Rune)

Belirtilen değerin başka Runebir belirtilen Rune değerinden büyük veya buna eşit olup olmadığını belirten bir değer döndürür.

Inequality(Rune, Rune)

İki Rune örneğin farklı değerlere sahip olup olmadığını gösteren bir değer döndürür.

LessThan(Rune, Rune)

Belirtilen değerin belirtilen Rune başka Runebir değerinden küçük olup olmadığını belirten bir değer döndürür.

LessThanOrEqual(Rune, Rune)

Belirtilen değerin başka Runebir belirtilen Rune değerinden küçük veya buna eşit olup olmadığını belirten bir değer döndürür.

Belirtik Arabirim Kullanımları

Name Description
IComparable.CompareTo(Object)

Geçerli örneği belirtilen nesneyle karşılaştırır.

IFormattable.ToString(String, IFormatProvider)

Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin.

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

Geçerli örneğin değerini sağlanan karakter aralığına biçimlendirmeye çalışır.

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

Geçerli örneğin değerini UTF-8 olarak sağlanan bayt aralığına biçimlendirmeye çalışır.

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

UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.

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

Unicode skaler değerini ([ U+0000..U+D7FF ], dahil; veya [ U+E000.. U+10FFFF ], dahil).

Şunlara uygulanır