Tutorial :How to learn C# quickly? [closed]

Question:

I wish to become a good developer in C# (especially .NET environment (i.e both windows app & web app)).

Suggest me the way to achieve the same..... It may be books, magazines, journals, code samples, etc.

Solution:1

Unless you already have significant experience in another language/platform, the two requirements you've stated "learn quickly" and "good developer" are somewhat orthogonal. The thing that will, ultimately, make you a good developer is experience of working with the language and the .NET framework, and with other people who are good and who can help you improve. This takes years; there are no shortcuts.

That said, books are a great way to get familiar with the language, and they go from fairly basic ones to quite advanced so there is a reading progression. In addition, reading blogs will help you get up to speed with various aspects of the language (I'd particularly recommend Eric Lippert's here, though some of the topics are very advanced). And also reading and even starting to answer questions on forums like this will increase and test your knowledge.

Solution:2

I would recommend starting with the absolute core parts of C# - learn about the type system, strings, numbers, IO, collections etc. I'd personally do this with console applications, where you don't need nearly as much code to get a result as with a GUI, and you can concentrate on the topic you're trying to learn about.

In terms of books, C# 3.0 in a Nutshell is very good. If you're really not a console kind of person, Head First C# may be up your street - it's not my preferred style, but many other people like it. However, make sure you get the latest printing, as lots of errors have been corrected.

Solution:3

I suggest: Books,Magazines,Journals,Code Samples,etc

Seriously, I suggest books and practicing. There are a lot of books to get you started, probably all much the same. Then when you've got the basics and want a quick guide to how it really all works, this one is rather good.

Solution:4

Start developing an application you could use using C#

Solution:5

Join a company that uses it and get into a team of great developers. Get one of them to be your mentor. You'll learn more in a week than you will with books, guides, etc.

Solution:6

Charles Petzold has made his excellent book, '.Net Book Zero', available to download at :

I'd recommend this as your starting point, it's a decent read and his writing style is easy to parse.

Solution:7

Depends, are you already a good developer, if so you only need to learn the syntax else start at the bottom. Use MSDN to read snippets and use codeproject

Solution:8

Depends on your background (For example, are you transitioning from another OO language, such as Java or C++), but you can't go wrong with plenty of practice -- maybe set yourself a project (that you'd get some benefit from) to implement and work towards that.

If you've not had much experience with object orientated programming before, it might be useful to read up (in a language agnostic manner) on the main principles.

Solution:9

I've already recommended this site in an answer to a similar question. Try C# Station. It got me started and might help you as well. However, becoming a good developer is a task for many years. What counts most is experience and you will not get that from books, magazines or online resources...

Solution:10

Solution:11

Well, I think the largest hurdle isn't learning C# so much as gaining experience in writing commercial Windows software and web software.

You could argue that good development practices are language-agnostic and only can really be acquired through experience in actually developing a project end-to-end.

However, that being said, my best advice would be to start learning and practicing Object Oriented design patterns and practices and then applying them to a specific purpose, e.g. designing and maintaining an ASP.net website for example.

This would help you to experience the intricacies of developing with C#and also give you insight into how to debug, and interact with key Operating Systems such as IIS.

What you may quickly find is that mastery of C# in isolation isn't enough. For example, to build a half decent ASP.net website you are likely going to have to also understand something of databases (or an alternative for data storage).

Finally, reading blogs and MSDN articles can be very beneficial, but it's usually applicable to the current flavours of the month. I'd establish a specific goal to achieve and go about researching designs and strategies to implement it.

Also, check out some of the Microsoft Patterns and Practices material - it covers a wide range of topics many of which include design patterns and strategies which may be helpful as you learn the ropes. There are also a lot of "sample" projects to be found on Code Plex and Code Project (though take code project with a grain of salt).

Solution:12

A friend of mine described another book Petzold wrote as "old school deep knowledge" - I knew exactly what he meant by that, after downloading his .NET Book Zero. It starts with the basics - a console "hello World" application, and describes very detailled, but always easy to understand (and sometimes really funny), whats it all about.

You should really check it out, I printed mine at work (shh!) and got it cutted and binded at a local copyshop. overall costs: 3â¬.

Solution:13

Solution:14

Simple Step by Step :

First think first you must have is MSDN library; either from MSDN library offline or MSDN library online. Since I have limited bandwidth in Indonesia, I choose offline version. There are documentations about C# and many samples. Some samples I have to download from the internet.

You have to know the logic. I think it is basic for all software development language. Studying OOP especially in today programming language. In C++ you will see like multiple inheritance; in C# you don;t have it.

Studying generics especially if you want to play at least .NET 2.0

Start with basic C# syntax and make it some hello world program in console, desktop and web. Basic input / output is like one input and output.

Studying in advanced like collections, implement interfaces, delegates, attributes, reflections, statements, operators, event driven, etc. Modified your hello world program so you can use it.

Start with simple application like todo list in console, web, and windows. This simple to do list just enter data from input and make a list what to do. Advanced the application using database to store and retrieve data. In here you will learn ADO>NET

Studying design pattern. You will see that base class library in .NET using design pattern. This is good for designing using C#.

Studying IO and Networking principle. It is good since most development will use like handle file, copy file or connecting to other server.

Studying to make configuration using registry, config file or other techniques.

Studying security concept in Windows and .NET. You can see in technet, microsoft knowledge base and MSDN

Try to get a certification on test 070-536 from test provider in your city and get MCP title. This is good for you :)

Solution:15

Two books I found to be very helpful have been Programming C# and C# in Depth. These books are aimed at developers with existing experience in other languages, they may not be helpful if you are less experienced. Some of the other answers may have better suggestions for folks just beginning to learn programming.

You'll probably want to get Visual C# 2008 Express. It's free and very full-featured, you can get started experimenting with code very quickly and easily.

Solution:16

I think it is very difficult to know two different worlds at a time. Just concentrate on one thing, either web or desktop. I think you should read this book: Illustrated C# 2008 from Apress. It will open your mind. You will learn C# as well as OOP. This will make your foundation stronger. After this you can go anywhere, either web or desktop app development.