2
Почему Encoding.ASCII! = ASCIIEncoding.Default в C#?Почему Encoding.ASCII! = ASCIIEncoding.Default в C#?
Почему Encoding.ASCII! = ASCIIEncoding.Default в C#?Почему Encoding.ASCII! = ASCIIEncoding.Default в C#?
Это происходит потому, что ASCIIEncoding
происходит от Encoding
, где Default
определяется как:
/// <summary>
/// Gets an encoding for the operating
/// system's current ANSI code page.
/// </summary>
public static System.Text.Encoding Default
{ get; }
Так ASCIIEndcoding.Default
фактически возвращает ANSI кодировку по умолчанию операционной системы.
Итак, вы на самом деле вызываете Encoding.Default, нет ASCIIEncoding.Default. Resharper (и, возможно, FxCop) предупредит вас об этом. – marklam
Просто уточнить: свойство 'Default' является статическим свойством, которое всегда унаследовано от класса« Кодирование », независимо от того, из какого класса кодировки вы его вызываете. – awe