Memahami Fungsi Sebaris dalam C#
Fungsi sebaris mewakili strategi pengoptimuman pengkompil. Daripada urutan panggilan dan pemulangan fungsi biasa, kod fungsi dimasukkan terus pada tempat ia dipanggil.
Sebelum .NET 4.5, C# tidak mempunyai sokongan fungsi sebaris yang jelas. Pengenalan atribut MethodImplOptions.AggressiveInlining
dalam ruang nama System.Runtime.CompilerServices
telah mengubahnya. Atribut ini mencadangkan kepada pengkompil bahawa kaedah ialah calon untuk sebaris, tetapi keputusan muktamad kekal dengan pengkompil.
Melaksanakan fungsi sebaris melibatkan penggunaan atribut [MethodImpl(MethodImplOptions.AggressiveInlining)]
pada kaedah anda:
<code class="language-csharp">using System.Runtime.CompilerServices; ... [MethodImpl(MethodImplOptions.AggressiveInlining)] void MyMethod(...) { // Method body }</code>
Yang penting, inlining hanyalah cadangan, bukan mandat. Pengkompil mungkin menolak untuk menyelaraskan fungsi berdasarkan pelbagai pertimbangan:
virtual
tidak boleh diselaraskan dengan pasti.Oleh itu, pertimbangan yang teliti harus diberikan kepada penggunaan fungsi sebaris, mengimbangi keuntungan prestasi terhadap potensi kesan terhadap kejelasan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci Bagaimanakah Fungsi Sebaris Berfungsi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!