473,395 Members | 1,616 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Best Way to Learn C#

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 !!!
Nov 17 '05 #1
11 3367
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.
"robbiebell22" <ro**********@discussions.microsoft.com> wrote in message
news:6D**********************************@microsof t.com...
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 !!!

Nov 17 '05 #2
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" <ro**********@discussions.microsoft.com> wrote in message
news:6D**********************************@microsof t.com...
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 !!!

Nov 17 '05 #3
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" wrote:
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" <ro**********@discussions.microsoft.com> wrote in message
news:6D**********************************@microsof t.com...
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 !!!


Nov 17 '05 #4
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.

--
EventStudio 2.5 - http://www.EventHelix.com/EventStudio
Generate Sequence Diagrams in PDF and Word EMF from plain text input

Nov 17 '05 #5
> 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
Nov 17 '05 #6
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 :)

*** Sent via Developersdex http://www.developersdex.com ***
Nov 17 '05 #7
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.

"ian" wrote:
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 :)

*** Sent via Developersdex http://www.developersdex.com ***

Nov 17 '05 #8
robbiebell22 <ro**********@discussions.microsoft.com> wrote:
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.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 17 '05 #9
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.
Nov 17 '05 #10
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).

Nov 17 '05 #11
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
"robbiebell22" <ro**********@discussions.microsoft.com> wrote in message
news:6D**********************************@microsof t.com...
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 !!!

Nov 17 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Andr? Roberge | last post by:
Sorry about the cryptic subject line, but I wanted to capture the essence of my message in a single line. I am learning Python (which, as everyone know is the best language :-) so that I can...
131
by: Peter Foti | last post by:
Simple question... which is better to use for defining font sizes and why? px and em seem to be the leading candidates. I know what the general answer is going to be, but I'm hoping to ultimately...
11
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
136
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their...
3
by: Jose Fernandez | last post by:
Hello friends. I was searching on Amazon for a Object Oriented Programming book but I found so many many of them. Could you help me by telling me a the best in your opinion?? My target is to...
6
by: aron t | last post by:
Hi, I am good php programmer and want to learn asp.net. Can someone tell me what are the best and the worst features of ASP.NET? thanks
26
by: puzzlecracker | last post by:
It'd be interesting to compare the learning practices of c++ practitioners. I'll start with mine The C++ Programming Language C++ Primer Effective C++ More Effective C++ Effective STL The...
13
by: BK | last post by:
Our .Net team has just inherited a junior programmer that we need to get up to speed as quickly as possible. Unfortunately, his skill set is largely Access with some VB6 and ASP classic...
13
by: G | last post by:
Hello, Looking for opinions on a fairly simple task, new to ASP.net (C#) and want to make sure I do this as efficiently as possible. I have a web based form, and I need to run some SQL before...
2
by: londonblokde | last post by:
Hello, If I want to learn VBA should I start by learning Visual Basic? I have no background in coding, but I need to learn VBA. So what is the best way to learn it; do I need to learn Visual Basic...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.