Reimplemented from System.Text.Encoding.
Definition at line 215 of file ASCIIEncoding.cs.
216 {
217 if (((encoder == null) ? base.EncoderFallback : encoder.Fallback) is EncoderReplacementFallback { MaxCharCount: 1 } encoderReplacementFallback && encoderReplacementFallback.DefaultString[0] <= '\u007f')
218 {
219 byte b = (byte)encoderReplacementFallback.DefaultString[0];
220 int num = Math.Min(
chars.Length,
bytes.Length);
221 int num2 = 0;
223 {
225 {
226 while (num2 < num)
227 {
228 ptr[num2++] = b;
229 if (num2 < num)
230 {
231 num2 += (int)ASCIIUtility.NarrowUtf16ToAscii(ptr2 + num2, ptr + num2, (uint)(num - num2));
232 }
233 }
234 }
235 }
238 }
240 {
241 return originalBytesLength -
bytes.Length;
242 }
243 return base.GetBytesWithFallback(
chars, originalCharsLength,
bytes, originalBytesLength, encoder);
244 }
References System.bytes, System.chars, System.Text.EncoderReplacementFallback.DefaultString, System.Text.EncoderNLS.Fallback, System.Math.Min(), and System.Text.ASCIIUtility.NarrowUtf16ToAscii().
Referenced by System.Text.ASCIIEncoding.GetBytesCommon().