Bagikan melalui


UnicodeEncoding.GetMaxByteCount(Int32) Metode

Definisi

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

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

Parameter

charCount
Int32

Jumlah karakter yang akan dikodekan.

Mengembalikan

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

Pengecualian

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

EncoderFallback diatur ke EncoderExceptionFallback.

Contoh

Contoh berikut menunjukkan cara menggunakan GetMaxByteCount metode untuk mengembalikan jumlah maksimum byte yang diperlukan untuk mengodekan jumlah karakter tertentu.

using namespace System;
using namespace System::Text;
int main()
{
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = 2;
   int maxByteCount = Unicode->GetMaxByteCount( charCount );
   Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        UnicodeEncoding Unicode = new UnicodeEncoding();
        int charCount = 2;
        int maxByteCount = Unicode.GetMaxByteCount(charCount);
        Console.WriteLine(
            "Maximum of {0} bytes needed to encode {1} characters.",
            maxByteCount,
            charCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = 2
        Dim maxByteCount As Integer = uni.GetMaxByteCount(charCount)
        Console.WriteLine("Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount)
    End Sub
End Class

Keterangan

Untuk menghitung ukuran array yang tepat yang diperlukan oleh GetBytes untuk menyimpan byte yang dihasilkan, aplikasi menggunakan GetByteCount. Untuk menghitung ukuran array maksimum, aplikasi harus menggunakan GetMaxByteCount. Metode ini GetByteCount umumnya mengalokasikan lebih sedikit memori, sementara GetMaxByteCount metode umumnya dijalankan lebih cepat.

GetMaxByteCount mengambil angka terburuk, termasuk kasus terburuk untuk yang saat ini dipilih EncoderFallback. Jika fallback dipilih dengan string yang berpotensi besar, GetMaxByteCount dapat mengembalikan 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 GetByteCount atau Encoder.Convert.

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

Catatan

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

Berlaku untuk

Lihat juga