Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Artikel ini membahas kesalahan dan peringatan pengkompilasi berikut:
Span<T>
karena bukan variabel yang dapat ditetapkanReadOnlySpan<T>
karena mungkin tidak diteruskan atau dikembalikan oleh referensiint
, System.Index
, atau System.Range
.ref
, atau memiliki tipe yang tidak valid sebagai argumen jenis.foreach
pernyataan pada array sebaris jenis tidak didukungAnda mendeklarasikan array sebaris sebagai struct
jenis dengan satu bidang, dan atribut yang menentukan panjang array. Pengkompilasi menghasilkan kesalahan berikut untuk deklarasi array sebaris yang tidak valid:
ref
, atau memiliki tipe yang tidak valid sebagai argumen jenis.Untuk memperbaiki array ini, pastikan berikut ini benar:
struct
Penutup tidak menentukan tata letak eksplisit apa pun.struct
Penutup memiliki satu bidang instans, dan bidang instans tersebut bukan bidangref
.required
pengubah , , volatile
atau readonly
.record
dari deklarasi array sebaris Anda.Anda mengakses elemen array sebaris dengan cara yang sama seperti array apa pun. Pengkompilasi memancarkan kesalahan berikut dari akses elemen yang salah:
int
, System.Index
, atau System.Range
.foreach
pernyataan pada array sebaris jenis tidak didukungSelain itu, kompilator mengeluarkan peringatan berikut saat Anda mendeklarasikan pengindeks:
Kode yang dihasilkan untuk buffer sebaris mengakses memori buffer secara langsung, melewati pengindeks yang dideklarasikan. Array sebaris tidak dapat digunakan dengan foreach
pernyataan .
Argumen ke pengindeks harus:
int
, a System.Index
atau System.Range
.Anda sering menggunakan System.Span<T> atau System.ReadOnlySpan<T> untuk bekerja dengan array sebaris. Pengkompilasi menghasilkan kesalahan berikut untuk konversi yang tidak valid:
Span<T>
karena bukan variabel yang dapat ditetapkanReadOnlySpan<T>
karena mungkin tidak diteruskan atau dikembalikan oleh referensiPengkompilasi menghasilkan kode yang langsung mengakses memori untuk buffer sebaris. Oleh karena itu, beberapa anggota tidak pernah dipanggil. Pengkompilasi menghasilkan peringatan berikut jika Anda menulis salah satu anggota yang tidak pernah dipanggil:
Array sebaris dapat dikonversi secara implisit ke Span<T>
atau ReadOnlySpan<T>
untuk meneruskan array sebaris ke metode. Kompilator memberlakukan pembatasan pada konversi tersebut:
Span<T>
. Jika array baca-saja, Anda tidak dapat mengonversinya menjadi bisa-tulis Span<T>
. Anda dapat menggunakan ReadOnlySpan<T>
sebagai gantinya.Span<T>
aman atau ReadOnlySpan<T>
agar konversi berhasil. Anda harus membatasi konteks rentang, atau memperluas cakupan array sebaris.Selain itu, pengkompilasi tidak pernah menghasilkan panggilan ke Slice
metode dalam buffer sebaris. Operator konversi untuk mengonversi buffer sebaris menjadi Span
atau ReadOnlySpan
tidak dipanggil. Pengkompilasi menghasilkan kode untuk membuat System.Span<T> atau System.ReadOnlySpan<T> langsung dari buffer memori.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarang