Apakah perbezaan asas antara contoh VB.NET dan tetingkap C#?
vb.net, setiap tetingkap mempunyai contoh lalai, sementara C#tidak. Perbezaan ini berasal dari konsep reka bentuk yang berbeza dari bahasa yang berbeza. Atribut VB.NET secara langsung mengenal pasti contoh kelas tetingkap, sementara C#tidak mempunyai konsep contoh lalai ini.
Contoh lalai vb.net: (Name)
membolehkan mereka mengakses secara langsung contoh lalai tetingkap.
tidak ada contoh lalai dalam C#:
C#menekankan prinsip yang berorientasikan objek, dan memerlukan pengaturcara untuk membuat contoh secara eksplisit. Tidak seperti VB.NET, C#tidak membenarkan sebarang atribut dan kaedah untuk menamakan ruang nama global. Oleh itu, C#tidak menyediakan mekanisme untuk menentukan contoh lalai jenis definisi. (Name)
di C#, contoh dan paparan tetingkap adalah jelas:
Dalam vb.net, ia boleh secara tersirat instantiated atau secara eksplisit instantiated:
Kod IL yang dihasilkan:
Kod IL yang dihasilkan oleh kedua -dua kod adalah berbeza. Dalam kaedah contoh lalai vb.net, gunakan arahan
<code class="language-csharp">// 唯一方法 Form1 frm = new Form1(); frm.Show();</code>
, dan panggil kaedah
pada contoh yang baru dibuat. Dalam C#, tidak perlu<code class="language-vb.net">' 常用方法一 Form1.Show() ' 常用方法二 Dim frm As New Form1() frm.Show()</code>
pada contoh yang dicipta .
c#boleh mensimulasikan contoh lalai?
newobj
Anda boleh mensimulasikan contoh lalai dengan menggunakan atribut statik dalam kelas C#Window untuk mensimulasikan contoh lalai. Walau bagaimanapun, kaedah ini tidak cukup elegan dan memerlukan kod model tambahan. Form1
Show()
Sebab -sebab perbezaan reka bentuk: newobj
Form1
Show()
Perbezaan reka bentuk antara VB.NET dan C#mencerminkan pengguna sasaran masing -masing. Ciri -ciri contoh lalai VB.NET direka untuk membantu pengaturcara yang bergerak dari VB6. C#memberi tumpuan kepada prinsip -prinsip yang berorientasikan objek dan menggalakkan kelas instantiated, supaya pemaju dapat mengawal kod yang lebih baik.
Atas ialah kandungan terperinci Mengapa VB.NET mempunyai contoh borang lalai manakala C# tidak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!