UTF7Encoding.GetMaxCharCount(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 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 karakter yang dihasilkan lebih besar dari angka maksimum yang dapat dikembalikan sebagai int.
Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)
-dan-
DecoderFallback diatur ke DecoderExceptionFallback.
Contoh
Contoh kode 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()
{
UTF7Encoding^ utf7 = gcnew UTF7Encoding;
int byteCount = 8;
int maxCharCount = utf7->GetMaxCharCount( byteCount );
Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
UTF7Encoding utf7 = new UTF7Encoding();
int byteCount = 8;
int maxCharCount = utf7.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UTF7EncodingExample
Public Shared Sub Main()
Dim utf7 As New UTF7Encoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = utf7.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 memungkinkan alokasi lebih sedikit memori, sementara GetMaxCharCount metode umumnya dijalankan lebih cepat.
GetMaxCharCount adalah angka terburuk, termasuk kasus terburuk untuk yang saat ini dipilih DecoderFallback. Jika fallback dipilih dengan string yang berpotensi besar, GetMaxCharCount dapat mengembalikan nilai besar.
Dalam kebanyakan kasus, metode ini mengembalikan 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 Decoder.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)
.