Bagikan melalui


UTF7Encoding.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 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).

Berlaku untuk

Lihat juga