Apa yang paling penting fungsional perbedaan antara C# dan VB.NET?

Tentu ada's perbedaan secara umum sintaks, tetapi apa yang penting lainnya perbedaan yang ada? Ada beberapa perbedaan, kan?

Mengomentari pertanyaan (1)
Larutan

Terkait perbandingan yang sangat teliti, tapi sejauh perbedaan utama saya akan perhatikan hal berikut:

  • <menyerang>C# telah anonim metode</strike>VB ini sekarang juga
  • <menyerang>C# memiliki yield kata kunci (iterator blok)</strike>VB11 menambahkan ini
  • VB mendukung implisit mengikat akhir-akhir ini (C# memiliki eksplisit mengikat akhir sekarang melalui kata kunci dinamis)
  • VB mendukung XML literals
  • VB adalah case sensitive
  • Lebih banyak out-of-the-box potongan kode untuk VB
  • <menyerang>Lebih banyak out-of-the-box refactoring alat untuk C#</strike>Visual Studio 2015 sekarang menyediakan sama refactoring alat-alat untuk VB dan C#.

Secara umum hal-hal yang MS berfokus pada masing-masing bervariasi, karena dua bahasa ditargetkan pada khalayak yang sangat berbeda. Blog post memiliki ringkasan yang baik dari khalayak sasaran. Hal ini mungkin ide yang baik untuk menentukan yang audiens anda, karena hal ini akan menentukan apa jenis peralatan yang anda'll dapatkan dari Microsoft.

Komentar (6)

Topik ini memiliki banyak wajah kalinya sejak .Net 2.0 dirilis. Melihat ini Wikipedia artikel untuk dibaca ringkasan.

Komentar (0)

Hal ini dapat dianggap sintaks, tetapi VB.NET adalah kasus disensitif sementara C# adalah kasus sensitif.

Komentar (2)

Ini adalah sebuah referensi yang komprehensif.

Komentar (0)

Meskipun sintaks gula pada C#3 telah benar-benar mendorong bar ke depan, saya harus mengatakan beberapa dari Linq to XML barang-barang di VB.Net tampaknya cukup bagus dan membuat penanganan yang kompleks, sangat bersarang XML sedikit lebih ditoleransi. Hanya sedikit.

Komentar (0)

Karena saya asumsikan anda dapat google, saya don't pikir link untuk lebih situs adalah apa yang anda cari.

Jawaban saya: Memilih dasar pada sejarah pengembang. C# adalah lebih JAVA dan C++ seperti. VB.NET adalah lebih mudah untuk VB programmer, tapi saya rasa itu tidak benar-benar masalah lagi sine tidak ada yang baru .NET programmer datang dari VB.

Pendapat saya adalah bahwa VB lebih produktif maka C#, tampaknya itu selalu di depan dalam hal produktivitas alat (seperti intelisense), dan saya akan merekomendasikan vb atas c# untuk seseorang yang meminta. Tentu saja, seseorang yang tahu dia lebih suka c# tidak't meminta, dan c# mungkin adalah pilihan yang tepat untuk dia.

Komentar (1)

Salah satu perbedaan mencolok adalah dalam cara mereka menangani ekstensi metode (Vb.Net benar-benar memungkinkan sesuatu yang C# doesn't - passing jenis di mana metode penyuluhan yang didefinisikan sebagai ref): http://blog.gadodia.net/extension-methods-in-vbnet-and-c/

Komentar (1)

Terlepas dari sintaks tidak banyak lagi. Mereka berdua menyusun persis sama IL, sehingga anda dapat menyusun sesuatu seperti VB dan mencerminkan ke C#.

Yang paling jelas perbedaan sintaksis gula. Misalnya VB yang muncul untuk mendukung jenis dinamis, tapi benar-benar mereka're hanya sebagai statis sebagai C#'s - VB compiler tokoh-tokoh mereka.

Visual Studio berperilaku berbeda dengan VB dibandingkan dengan C# - menyembunyikan banyak fungsi tetapi menambahkan latar belakang kompilasi (besar untuk proyek-proyek kecil, sumber daya memonopoli bagi orang-orang besar) dan lebih baik cuplikan dukungan.

Dengan lebih dan lebih compiler 'sihir' di C#3 VB.Net benar-benar telah jatuh di belakang. Satu-satunya hal VB sekarang telah bahwa C# doesn't adalah menangani kata-kunci - dan yang's diperdebatkan manfaat.

@Tom - yang benar-benar berguna, tapi sedikit out of date - VB.Net sekarang mendukung XML docs juga dengan&#39;&#39;&#39;

@Lukas - VB.Net masih doesn't memiliki anon-metode, tapi tidak sekarang mendukung lambdas.

Komentar (2)

Topik ini secara singkat dijelaskan di wikipedia dan harding.

http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Hanya pergi melalui dan membuat catatan tentang itu.

Komentar (0)

Perbedaan terbesar menurut saya adalah kemampuan untuk menulis kode yang tidak aman di C#.

Komentar (0)

Meskipun VB.NET mendukung try...catch jenis exception handling, ia masih memiliki sesuatu yang mirip dengan VB6's PADA KESALAHAN. PADA KESALAHAN dapat serius disalahgunakan, dan dalam sebagian besar kasus, mencoba menangkap...jauh lebih baik; tetapi PADA KESALAHAN dapat menjadi bermanfaat ketika menangani COM waktu-operasi di mana kesalahan dapat terjebak, diterjemahkan, dan akhir "coba lagi" sederhana satu baris. Anda bisa melakukan hal yang sama dengan mencoba menangkap...tapi kode ini banyak yang rancu.

Komentar (0)

Ya VB.NET sebagian besar tetap VB6 masalah dan membuatnya tepat OOP bahasa - ie. Mirip dalam kemampuan untuk C#. AlthougnI cenderung lebih suka C#, saya menemukan tua VB PADA construct ERROR berguna untuk penanganan COM interop timeout. Sesuatu yang digunakan secara bijaksana meskipun PADA KESALAHAN dengan mudah disalahgunakan!!

Komentar (0)

Salah satu perbedaan mencolok adalah dalam cara mereka menangani ekstensi metode (Vb.Net benar-benar memungkinkan sesuatu yang C# doesn't - passing jenis di mana metode penyuluhan yang didefinisikan sebagai ref): http://blog.gadodia.net/extension-methods-in-vbnet-and-c/

Komentar (0)

Ketika sampai ke IL semua hanya bit. Hal ketidakpekaan hanya precompiler lulus. Tapi konsensus umum adalah, vb lebih verbose. Jika anda dapat menulis c# mengapa tidak menyimpan mata dan tangan dan menulis jumlah yang lebih kecil dari kode untuk melakukan hal yang sama.

Komentar (0)

Scott Hanselman baru-baru ini menulis sebuah artikel menarik yang kontras var dan Dim: Kembali ke Dasar: var != Dim

Komentar (0)