Wie Arrays IList
In C# implementieren Arrays IList
Einblick in das Framework
Während Arrays IList
CLRs Quacks-Like-a-Duck-Ansatz
Die CLR implementiert spezielle Techniken für Arrays, ähnlich denen, die für Werte verwendet werden Typen. Der Compiler erkennt Umwandlungen in IList
Count-Eigenschaftsimplementierung
Obwohl die Count-Eigenschaft nicht explizit deklariert wird, kann dies der Fall sein zugegriffen werden. Es wird jedoch wie folgt implementiert:
internal int get_Count<T>() { // Warning: "this" is an array, not an SZArrayHelper T[] _this = JitHelpers.UnsafeCast<T[]>(this); return _this.Length; }
Wie der Kommentar andeutet, kann dieses Verhalten als Regelverstoß betrachtet werden, aber es erleichtert eine effiziente Array-Verarbeitung.
Fazit
Arrays implementieren teilweise IList
Das obige ist der detaillierte Inhalt vonWie implementieren C#-Arrays scheinbar IList ohne eine explizite Count-Eigenschaft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!