Best Way to Learn C#

G

Guest

I have been looking all over the internet on how to learn C# .net. I have
read a couple of books, lots of forums, and tutorials, but i am still at a
very big loss as far as trying to write my own GUI Windows application. I
was just wondering how everyone one learns C# so well that they program with
it? Are there classes everyone takes? Is it done all online and through
published books? I need some one on one help i think but $2000 - $10000 is a
lot for trying to become a C# programmer as a hobby !!!
 
F

Fred Mellender

It is somewhat difficult to write a C# "Windows Form" application from
scratch: you should probably use an "IDE" (integrated development
environment). You can download the beta version of C# Express from
Microsoft. Then you should get a book that leads you through generating a
program via the IDE. I recommend "Programming C#", by Jesse Liberty. After
a discussion of the language, he shows you step by step how to build a
Windows Form Application in the IDE. The IDE generates must of the
non-intuitive code for you, leaving your only task to fill in the event
handlers, from the stubs it generates.

After that, and after you have learned the basics of the language, you just
need to study the C# library, and the GUI toolset that comes with the IDE.
There is a lot there and you will pick it up as you need it, and as
curiosity leads you.

If you have studied other programming languages as well as GUI development,
C# should not present much difficulty. It is just that it is so big it is
sometimes hard to know where to begin.
 
C

clintonG

Buy a book such as Deitel's "C# A Programmer's Introduction" and do all of
the excercises to learn the language using Visual Web Developer 2005 Express
or Visual C# 2005 Express and SQL Server 2005 Express [1] that you can
download free and which will cost about $40 each shortly after Novermber 7th
when the official release of ASP.NET 2.0 occurs. Then start using the
QuickStarts [2] to learn the framwork. That should be all you need for at
least 6 months at a cost of one textbook.

<%= Clinton Gallagher
METROmilwaukee (sm) "A Regional Information Service"
NET csgallagher AT metromilwaukee.com
URL http://metromilwaukee.com/
URL http://clintongallagher.metromilwaukee.com/

[1] http://lab.msdn.microsoft.com/express/
[2] http://beta.asp.net/QUICKSTARTV20/aspnet/default.aspx
 
G

Guest

Thanks for the suggestions! I will give it a try and hope that it works out.
programming in .net leaves me in the wake of a huge amount of information
and you guys are right it is tough to know where to start. Thanks Again,
Robbie

clintonG said:
Buy a book such as Deitel's "C# A Programmer's Introduction" and do all of
the excercises to learn the language using Visual Web Developer 2005 Express
or Visual C# 2005 Express and SQL Server 2005 Express [1] that you can
download free and which will cost about $40 each shortly after Novermber 7th
when the official release of ASP.NET 2.0 occurs. Then start using the
QuickStarts [2] to learn the framwork. That should be all you need for at
least 6 months at a cost of one textbook.

<%= Clinton Gallagher
METROmilwaukee (sm) "A Regional Information Service"
NET csgallagher AT metromilwaukee.com
URL http://metromilwaukee.com/
URL http://clintongallagher.metromilwaukee.com/

[1] http://lab.msdn.microsoft.com/express/
[2] http://beta.asp.net/QUICKSTARTV20/aspnet/default.aspx


robbiebell22 said:
I have been looking all over the internet on how to learn C# .net. I have
read a couple of books, lots of forums, and tutorials, but i am still at a
very big loss as far as trying to write my own GUI Windows application. I
was just wondering how everyone one learns C# so well that they program
with
it? Are there classes everyone takes? Is it done all online and through
published books? I need some one on one help i think but $2000 - $10000
is a
lot for trying to become a C# programmer as a hobby !!!
 
E

EventHelix.com

The best way to learn C# would be to write a large application
in it. You could develop an application on your own or join a
project at source forge.
 
W

Wessel Troost

it? Are there classes everyone takes? Is it done all online and through
published books?

Check out http://safari.oreilly.com. They publish many books online,
including books from Microsoft and Wrox.

For about 10 bucks, you can read five books a month. Excellent value for
your money, and your bookshelf is always up-to-date. Best thing: if you
purchase a bad book once in a while-- just skip it, you can't read more
than 5 books a month anyway!

Greetings,
Wessel
 
I

ian

I'd like to second the previous poster who suggests writing a large app
in c# as the best way to learn it. There's nothing like experience.
However, while you'll learn lots from a large scale project, you'll do
well by picking a small scale project and taking it to fruition. The
caveat is that you'll familiarise yourself with the framework, but not
necessarily approach the problem optimally. For that you need to refer
to your peers (or just be bloody smart, but I've not got that sorted ;))
There's an open source ide for dotnet available at
http://www.icsharpcode.net/OpenSource/SD/Default.aspx if you can't get
the official MS one. It includes source, but doesn't work with dotnet2
yet. The code is pretty good though. If you're planning on using your
new found skills professionally I'd suggest familiarising yourself with
the MS IDE. It's not entirely intuitive and could slip you up in an
interview.

Good luck :)
 
G

Guest

How is an IDE any different than. Visual Studio 2003 or 2005. I have been
trying to use C# .net within VS 2003, but i get hung up on simple problems
that seem to take forever to solve. I don't actually know anyone that knows
C# that is willing to help. That is why i consider taking a class for some
help. I have been trying to write an application to learn C#, but it seems
like i do so much stuff wrong i have had to start from scratch multiple times
and now i am just lost all together.

I just downloaded C# Express beta version from microsoft and hopefully by
trying some stuff out i will get it better. I have read 3 or 4 different
books by WROX alone and they seem so basic that i can't even use them. The
framework is so vast i don't usually know how to start because the books
focus on really simple stuff.

Anyways, thanks for the input. I will keep on trying.
 
J

Jon Skeet [C# MVP]

robbiebell22 said:
I have been looking all over the internet on how to learn C# .net. I
have read a couple of books, lots of forums, and tutorials, but i am
still at a very big loss as far as trying to write my own GUI Windows
application. I was just wondering how everyone one learns C# so well
that they program with it? Are there classes everyone takes? Is it
done all online and through published books? I need some one on one
help i think but $2000 - $10000 is a lot for trying to become a C#
programmer as a hobby !!!

I'd recommend using the newsgroups to learn - but not so much by asking
questions as by answering them. That's how I learned, after reading C#
in a Nutshell (which covers the basics, with a few errors
unfortunately). Whenever you see a question which you think is
interesting, try to answer it, by researching the answer with MSDN and
Google first, writing test programs etc.

I *don't* suggest you try to write a large application to start with -
I suggest you start by learning the basics with very simple console
applications which do very little other than call methods within your
own classes and use Console.WriteLine to print out the values of
variables. Then look at the System.Collections namespace, learning
about lists, dictionaries and the like. Then learn to use the System.IO
namespace, reading and writing files etc. At that point you might want
to move onto Windows Forms programming - but I'd recommend falling back
to a console application whenever you want to learn something new which
isn't directly related to GUI programming.

When you've got the basics under your belt, you could *then* start to
look at putting together a larger project. I wouldn't do it until then
though - you'll spend loads of time worrying over the basics, but being
in over your head, unable to work out which problems are because of a
lack of knowledge of the basics, and which problems are more
complicated. I've seen lots of people get stuck in that kind of way.
 
G

Guest

It sounds to me that you are on the right track.

Some things that I like in your post...

You keep trying to write applications.
You realize that there is probably a better way each tiime.
You realize that if you had an experienced .Net developer beside you, then
you'd be making fast progress.

This sounds exactly like the process I went thru with learning Visual C++
6.0 three years ago. It was a major headache, and very frustrating. Like you,
I was not able to go on a course, and I did not have experienced VCPP
developers to refer to, so I just had to keep going down the trial and error
path. Eventually I mastered it, and became very profficient with it (it took
about two years). The fruit of that experience is that when I started on
C#/.Net recently, that I was able to just jump into it, and pick up
everything very quickly.

Some of the things I did...

1. Focus on writing new code. Don't worry to much that you might be doing it
wrong.
2. From time to time look up solutions to problems that you are having. I
usually "google" with the keywords, and usually pick a solution from
codeproject.com, or msdn.
3. When you see a better way to do something, be prepared to fully rework
all of the relevant code you have written.
4. Generate lots of small projects to try out different ideas.
5. Pay close attention to the details in the solutions you find on the net.
You might see ideas that experienced developers use all the time, which are
"unwritten laws".

Overall, I'd focus more on progress, than on doing it perfectly, BUT, never
lose your recognition that there probably is a better way, and that there are
people out there who are doing it the better way.
 
G

Guest

I highly recommend that you stick with Visual Studio .Net, or Visual C#
Express Edition, as the IDE for learning. Perhaps there is a barrier to
getting started with them (although I didn't find that, after my experience
with VS 6.0), but once you get going you will find that they allow you to
keep churning out new code, without having to fully understand the
foundations, but also greatly assist you in exploring the foundations when
you need to. Whenever you need to know more, your first resource should be
the Help system, which is excellent (mostly), before googling. (although, I
must admit that finding the right article in the help system can be
difficult).
 
C

Charlie Tame

Seems you have VS.Net and I think that is the best way to get started,
having just done so myself.

Check out this page if you have 2003.NET for a fun way to look at things.
Unfortunately you probably won't learn much C# from compiling and looking at
a Softwire App but you will get used to the IDE all the time you are using
it. It's fun to play with http://www.softwire.com/

I got an app running in a matter of hours with Softwire but it lacked a few
things I wanted so I set about writing another version in 2005b.

I found that a number of things fit into place suddenly, after a few hours
of head banging "Why didn't that compile" frustration.

FWIW I also have the beta version of 2005 and it does not "Look" much
different than 2003 - so you won't be missing too much to begin with. I
think 2005 will be a big step forward in some ways but I don't think it
would necessarily make learning any easier.

I think I made the right choice, the people in Visual C# newsgroups seem to
be very understanding and helpful (Which is more than I can say for some
groups) so stick with it. I reckon you will reach a point a lot of things
just drop naturally into place, and that varies from person to person.

Charlie
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top