UnicodeEncoding.GetMaxByteCount(Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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)
.