Hi, Actually it depends up on your taste. Because using both you can develop good applications in asp.net. Although I use c# only but it is again my own preference. Here are some points which has been given by other person(in code project some time back) on why to use C#: :) This isn't a slam on VB.NET, but rather, some positives about using C# instead of other .NET languages: * It's at the forefront of research: most of the language innovation at MS Research is being poured into C#, trickling down to other languages: generics, language integrated query, lambda expressions, expression trees, continuations, extension methods, heck, the whole .NET FCL was written in C#. As it usually goes, other languages get these features trickled down to them, but C# is at the fore. * The primary language: being the primary .NET language has its perks, such as tools that only work with C#, a majority of books on .NET are C#-based, demos, examples, even tools like the recently released XNA Game Studio are C#-only. * C#, Java, C++, hey, even Javascript languages transition to one another far more easily than the verbose VB.NET. This means more devs are likely to understand your code, simply because of the fact they are all based on C-like syntax. * No supporting libraries: VB.NET uses the Microsoft.VisualBasic library and other supporting libraries that bring a lot of ugly cruft over from VB6. No such thing in C#, and is another reason why some .NET tools won't support VB.NET. Again, look at the recent XNA Studio; you can't write VB.NET code on the XBox360 because those extra VB dependencies haven't been ported to the XBox360 platform. * A fresh start. Unlike VB.NET, we don't have ugly, non-conforming libraries brought over from the old world of VB6, and all the bad practices that originated there. * C# can do some things VB.NET can't easily do. Need to load a private font? Need fast access to a bitmap's pixels? Need to interop with pointers? All those things can be done natively and easily in C#, but require rather bloated work-arounds in VB.NET. A private font? Say you've got a great font for your client app. But the font may not be installed on the end-user's system. You *could* embed the font as an app resource, but then you'd have to copy the font into %windir%\fonts directory, and that requires administrator priveleges, not to mention lots of disk access. What you can instead do is embed the font as a resource in your app, then load it and use it in your app without having