Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Klausa ini informatif.
B.1 Umum
Lampiran ini mengumpulkan beberapa informasi tentang portabilitas yang muncul dalam spesifikasi ini.
B.2 Perilaku yang tidak ditentukan
Perilaku tidak terdefinisi dalam keadaan berikut:
- Perilaku fungsi asinkron penutup ketika implementasi awaiter dari metode antarmuka dan
INotifyCompletion.OnCompletedtidak menyebabkan delegasi penerbitan ulang dipanggil paling banyak sekali (ICriticalNotifyCompletion.UnsafeOnCompleted). - Meneruskan pointer sebagai parameter referensi atau output (§24.3).
- Saat mendereferensiasi hasil konversi satu jenis pointer ke jenis lainnya dan pointer yang dihasilkan tidak diratakan dengan benar untuk jenis pointed-to. (§24.5.1).
- Ketika operator unary
*diterapkan ke pointer yang berisi nilai yang tidak valid (§24.6.2). - Saat penunjuk disubskripsikan untuk mengakses elemen di luar batas (§24.6.4).
- Memodifikasi objek jenis terkelola melalui pointer tetap (§24,7).
- Konten memori yang baru dialokasikan oleh
stackalloc(§12.8.22). - Mencoba mengalokasikan jumlah item negatif menggunakan
stackalloc(§12.8.22). - Konversi dinamis implisit (§10.2.10) parameter input dengan argumen nilai (§12.6.4.2).
Perilaku yang ditentukan implementasi B.3
Implementasi yang sesuai diperlukan untuk mendokumentasikan pilihan perilakunya di setiap area yang tercantum dalam subklasul ini. Berikut ini ditentukan implementasi:
- Penanganan karakter Unicode NULL (U+0000) dalam unit kompilasi. (§6.1)
- Perilaku ketika pengidentifikasi yang tidak ada di Formulir Normalisasi C ditemui. (§6.4.3)
- Nilai maksimum yang diizinkan untuk
Decimal_Digit+diPP_Line_Indicator. (§6.5.8) - Interpretasi input_characters dalam teks pp_pragma dari arahan #pragma. (§6.5.10)
- Nilai parameter aplikasi apa pun yang diteruskan
Mainoleh lingkungan host sebelum pengaktifan aplikasi. (§7.1) - Mekanisme untuk menentukan apakah program dikompilasi sebagai pustaka kelas atau sebagai aplikasi. (§7.1)
- Kebijakan atau mekanisme yang digunakan oleh implementasi untuk pembuatan dan penghancuran domain aplikasi. (§7.1)
- Kode keluar jika metode titik masuk yang efektif berakhir karena pengecualian. (§7.2)
- Apakah finalizer dijalankan sebagai bagian dari penghentian aplikasi atau tidak. (§7.2)
- Apakah API memungkinkan finalizer dijalankan lebih dari sekali. (§7.9)
- Apakah finalizer dijalankan sebagai bagian dari penghentian aplikasi atau tidak. (§7.9)
- Permukaan API yang disediakan oleh
Expression<TDelegate>di luar persyaratan untuk metodeCompile. (§8.6) - Struktur pohon ekspresi yang tepat, serta proses yang tepat untuk membuatnya, ketika fungsi anonim dikonversi ke pohon ekspresi. (§10.7.3)
- Alasan konversi ke jenis delegasi yang kompatibel mungkin gagal pada waktu kompilasi. (§10.7.3)
- Nilai dikembalikan ketika alokasi tumpukan ukuran nol dibuat. (§12.8.22)
-
System.ArithmeticExceptionApakah (atau subkelasnya) dilemparkan atau luapan tidak dilaporkan dengan nilai yang dihasilkan adalah operan kiri, ketika dalamuncheckedkonteks dan operan kiri dari pembagian bilangan bulat adalah negatifintataulongnilai maksimum dan operand kanan adalah–1. (§12.12.3) -
System.ArithmeticExceptionKetika (atau subkelasnya) dilemparkan saat melakukan operasi sisa desimal. (§12.12.4) - Dampak penghentian utas ketika utas tidak memiliki handler untuk pengecualian, dan utas itu sendiri dihentikan. (§13.10.6)
- Mekanisme di mana tautan ke metode eksternal dicapai. (§15.6.8)
- Dampak penghentian utas ketika tidak ada klausa yang cocok
catchyang ditemukan untuk pengecualian dan kode yang awalnya memulai utas tersebut tercapai. (§22.4). - Lingkungan eksekusi dapat menyediakan atribut tambahan yang memengaruhi eksekusi program C#. (§23.5.1)
- Pemetaan antara pointer dan bilangan bulat. (§24.5.1)
- Efek menerapkan operator unary
*kenullpointer. (§24.6.2) - Perilaku ketika aritmatika pointer meluap ke domain jenis pointer. (§24.6.6, §24.6.7)
- Hasil
sizeofoperator untuk jenis nilai yang tidak ditentukan sebelumnya. (§24.6.9) - Perilaku
fixedpernyataan jika ekspresi array adalahnullatau jika array memiliki elemen nol. (§24,7) - Perilaku
fixedpernyataan jika ekspresi string adalahnull. (§24,7)
Perilaku B.4 Tidak ditentukan
- Waktu di mana finalizer (jika ada) untuk objek dijalankan, setelah objek tersebut memenuhi syarat untuk finalisasi (§7,9).
- Representasi (
true§8.3.9). - Nilai hasil saat mengonversi nilai di luar rentang dari
floatatau nilai ke jenis integral dalamdoublekonteks (unchecked). - Objek target yang tepat dan metode target delegasi yang dihasilkan dari anonymous_method_expression berisi (§10.7.2).
- Tata letak array, kecuali dalam konteks yang tidak aman (§12.8.17.4).
- Apakah ada cara untuk menjalankan blok fungsi anonim selain melalui evaluasi dan pemanggilan lambda_expression atau ekspresi anonymous_method (§12.21.3).
- Waktu yang tepat dari inisialisasi bidang statis (§15.5.6.2).
- Hasil pemanggilan
MoveNextketika objek enumerator berjalan (§15.15.5.2). - Hasil mengakses
Currentsaat objek enumerator berada di status sebelum, berjalan, atau sesudah (§15.15.5.3). - Hasil pemanggilan
Disposeketika objek enumerator berada dalam status berjalan (§15.15.5.4). - Atribut jenis yang dideklarasikan dalam beberapa bagian ditentukan dengan menggabungkan, dalam urutan yang tidak ditentukan, atribut masing-masing bagiannya (§23.3).
- Urutan anggota dikemas ke dalam struktur (§24.6.9).
- Pengecualian terjadi selama eksekusi finalizer, dan pengecualian tersebut tidak tertangkap (§22.4).
- Jika lebih dari satu anggota cocok, anggota mana yang merupakan implementasi (
I.M§19.6.5).
B.5 Masalah lainnya
- Hasil yang tepat dari evaluasi ekspresi floating-point dapat bervariasi dari satu implementasi ke implementasi lainnya, karena implementasi diizinkan untuk mengevaluasi ekspresi tersebut menggunakan rentang dan/atau presisi yang lebih besar dari yang diperlukan (§8.3.7).
- Tanda tangan tertentu disediakan untuk kompatibilitas dengan bahasa pemrograman lainnya (§15.3.10).
Akhir teks informatif.
ECMA C# draft specification