Bagikan melalui


UnicodeEncoding.GetMaxCharCount(Int32) Metode

Definisi

Menghitung jumlah maksimum karakter yang dihasilkan dengan mendekode jumlah byte yang ditentukan.

public:
 override int GetMaxCharCount(int byteCount);
public override int GetMaxCharCount (int byteCount);
override this.GetMaxCharCount : int -> int
Public Overrides Function GetMaxCharCount (byteCount As Integer) As Integer

Parameter

byteCount
Int32

Jumlah byte yang akan didekodekan.

Mengembalikan

Jumlah maksimum karakter yang dihasilkan dengan mendekode jumlah byte yang ditentukan.

Pengecualian

byteCount kurang dari nol.

-atau-

Jumlah byte yang dihasilkan lebih besar dari angka maksimum yang dapat dikembalikan sebagai bilangan bulat.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

DecoderFallback diatur ke DecoderExceptionFallback.

Contoh

Contoh berikut menunjukkan cara menggunakan GetMaxCharCount metode untuk mengembalikan jumlah maksimum karakter yang dihasilkan dengan mendekode jumlah byte tertentu.

using namespace System;
using namespace System::Text;
int main()
{
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int byteCount = 8;
   int maxCharCount = Unicode->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        UnicodeEncoding Unicode = new UnicodeEncoding();
        int byteCount = 8;
        int maxCharCount = Unicode.GetMaxCharCount(byteCount);
        Console.WriteLine(
            "Maximum of {0} characters needed to decode {1} bytes.",
            maxCharCount,
            byteCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim uni As New UnicodeEncoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = uni.GetMaxCharCount(byteCount)
        Console.WriteLine("Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount)
    End Sub
End Class

Keterangan

Untuk menghitung ukuran array yang tepat yang diperlukan oleh GetChars untuk menyimpan karakter yang dihasilkan, aplikasi menggunakan GetCharCount. Untuk menghitung ukuran array maksimum, aplikasi harus menggunakan GetMaxCharCount. Metode ini GetCharCount umumnya mengalokasikan lebih sedikit memori, sementara GetMaxCharCount metode umumnya dijalankan lebih cepat.

GetMaxCharCount mengambil nomor kasus terburuk, termasuk kasus terburuk untuk yang saat ini dipilih DecoderFallback. Jika fallback dipilih dengan string yang berpotensi besar, GetMaxCharCount mengambil nilai besar.

Dalam kebanyakan kasus, metode ini mengambil angka yang wajar untuk string kecil. Untuk string besar, Anda mungkin harus memilih antara menggunakan buffer yang sangat besar dan menangkap kesalahan dalam kasus yang jarang terjadi bahwa buffer yang lebih masuk akal terlampaui. Anda mungkin juga ingin mempertimbangkan pendekatan yang berbeda menggunakan GetCharCount atau Convert.

GetMaxCharCount tidak memiliki hubungan dengan GetBytes. Jika aplikasi Anda memerlukan fungsi serupa untuk digunakan dengan GetBytes, aplikasi harus menggunakan GetMaxByteCount.

Catatan

GetMaxCharCount(N) belum tentu nilai yang sama dengan N* GetMaxCharCount(1).

Berlaku untuk

Lihat juga