tags:

views:

247

answers:

13

Hi, I am very strapped on cash and I do not want to buy a book, but what tutorial site will teach me the best for C#. I plan to use it with the .NET framework and design some web applications. I am going to be using visual studio and I have good experience with OOP and java. I just have no idea where to start with getting everything setup correctly as far as windows server goes and all the IIS settings and stuff like that. Also just a good place to start learning structure and syntax. Thanks guys!

+3  A: 

http://msdn.microsoft.com - They have sections on learning and of course the framework documentation.

Jay
+15  A: 

MSDN (Microsoft Developer Network) usually has great tutorials with videos, code samples, and helpful articles. Here is the C# MSDN website: http://msdn.microsoft.com/en-us/vcsharp/default.aspx

Blake Blackwell
+1. when MSDN actually manages to respect their own standards, it's a top notch reference.
MPelletier
Even though they can be boring, I love the channel 9 videos. I watch them in wmv format so I can play them at 1.5x speed. :)
adam0101
+2  A: 

I recommend CodeProject

Brian Driscoll
I don't know if I'd send a new developer to CodeProject. I've seen some pretty awful code written in those articles.
Justin Niessner
@Justin: CodeProject is not exactly for a beginner, that much I agree. But to make a suggestion that quite a number of the code over there is awful, I don't think so.
Alex Essilfie
+1  A: 

I'd start with setting up Visual Studio. Download the Visual Studio Express edition (it's free from Microsoft).

C# syntax is very close th Java's which mean it shouldn't take you too long to learn if you know Java well. Microsoft's MSDN library is a good resource.

To build web applications you will be using ASP.NET with C# (you will have a choice of MVC or ASPX). Again, the MSDN is a good reference and you can find some tutorials on www.asp.net

del.ave
A: 

http://www.java2s.com/ is a good one too. Deep, fairly complete and if you're used to Java Docs, well organized.

Paul Sasik
With that URL, I thought that was a joke until I checked it out...
MPelletier
+1  A: 

I'd just download the relevant version of Visual Studio and start from there.

You shouldn't have to worry about IIS and all that garbage until you start deploying your applications. For just running and debugging your web project from the IDE, Visual Studio runs it using its own built in server, so you shouldn't have any problems.

Then check the online resources that others have recommended.

Alex Humphrey
+1  A: 

For starting building web app with C# I recommend the asp.net sites getting started. http://www.asp.net/get-started. I tells you everything on downloading the tool, your first web application and step by step tutorials.

btlog
A: 

I'd pick a simple subject like movie ticketing, library management etc. and start developing a project around it. You will learn along the way using Google and StackOverflow. This is how most of my learning has been.

Praveen
+4  A: 

w3schools have tutorials for learning C#. Actually the tutorials are very simple but you can learn really fast by reading and trying the samples used there.

Carlos Muñoz
+2  A: 

Microsoft's MSDN website is probably the best free learning resource, specifically, the entire section on C# Tutorials that they have there.

Since you say you'll be using it to write websites, then I'd also recommend Microsoft's excellent ASP.NET website, which also contains numerous tutorials on all things ASP.NET and web-based.

The ASP.NET website contains quite a number of good tutorials in video-based format, so if that's your thing, you could also take a look at the DimeCasts website for numerous video tutorials in bite-sized 10 minute chunks on all manner of things related to C#, .NET and ASP.NET (as well as programming in general).

There's a number of articles on sites such as CodeProject ranging from demos of a single specific language feature through to fairly complete applications.

Talking of complete applications, you may also want to pop over to Microsoft's open source hosting website at CodePlex which contains mostly complete open-source applications in the various .NET languages. There's very often no better way to learn than looking at someone else's code to see how things are done, and then just "diving in" yourself and writing your own.

And even though you're not after a book, don't forget that there are quite a few very good books (usually e-books) available quite freely and legally from various places around the web. Programmers Heaven's CSharpBook and C# Essentials at Techotopia are just two examples. Take a look at this StackOverflow Question/Answer thread for a veritable smorgasbord of free programming books! (Does anybody not have this in their favourites list? :)

CraigTP
+1  A: 

This is pretty useful: http://www.albahari.com/nutshell/

I'd also recommend LinqPad (linked in the above page).

ck
A: 

I would recommend that you pick a project at Codeplex which have implemented something that you are interested in. Pick a project that have more than one developer. Try to get the project running and then study the code. Don't pick a too large project.

jgauffin
A: 

I agree with the posts above in that CodeProject, W3C, and MSDN are all terrific sites that have tutorials, examples, and "dig-deeper" links (as I like to call them) galore.

The best way to learn a new language (or to learn anything for that matter), though, is to sit down with it and dig in yourself. Places like StackOverflow here and Google are great when you get stuck and can't find your way around something but, with me anyway, it always seems to "stick" better when you learn for yourself whether it be through failures or successes.

Get in and explore the Visual Studio environment, various controls, etc. and like it was mentioned above you can start on either some simple examples/tutorials or just by creating basic apps that implement the various controls just so you can really get a feel for how everything works.

And like I said, you're going to get stuck, we all do, when you can't for the life of you figure the answer out. And that's what fantastic reference/help sites like StackOverflow, here, are for. Like anything, true mastery comes with time, experience, and lots of mistakes that you learn from.

Good luck with whatever C# projects you get into, though. It's a powerful, fun language and environment to develop in.

AmbiguousX