Could anyone tell me the best book available for:
2. C# 2.0
2. .NET Framework 2.0
I am new to .NET and C# (and programming). I have been working on VB.NET 2003 for the past 6 months and would like to learn more about .NET 2.0, OOPS, and .NET Framework 2.0. Any information that you guys would like to share would be appreciated.
Professional C# 2005 is not a professional level book. Sure it isn't an intro to programming but I am looking for more in books with the professional title.
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
Professional C# 2005 is not a professional level book.
I don't understand that statement. For example when I used the Remoting Chapter, I found the information was complete and presented in a logical fashion. What do you mean by "not a professional level"?
Implies years of industry experience and the ability to search on the web and read API references. A book with the title Professional should understand that focus on applications of the new technologies in difficult and new ways which would expose a professional to A) Solid reference to advanced topics and B) Provide exposure to methodology
While definately not intro to programming the book is an intro to C#.
I think B is critical because without a second, third, fourth voice everything becomes an echo chamber. Perspective from experience is crucial in a professional level book.
Not sure what all that means but if you read the back cover synopsis you would not expect to see any echo chamber stuff in there.
Ennis Ray Lynch, Jr. wrote:
As for A your definition of coverage and advanced topics may be different from mine.
Well I am not comparing this to something like Advanced Windows (Richter). The back cover synopsis of the book it does not claim to be anything like that. The only part of the back cover I disagree with is "so that you can begin programming like an expert right away", no book should claim that. In this case it covered topics like Remoting and EnterpriseServices which I used and found them to be "exactly" what I needed. First a simplified discussion and example leading to more complex aspects of the topic resulting in coverage of a variety of implementation options. Please note, that does not mean "in depth". The synopsis also says "help you gain a well rounded understanding", which I believe is accurate.
First I want to congratulate you on choosing to travel the path of OOP instead of reading fat books that tell you how not why. I like Robert Martin however his C# book is not that overwhelming but check out his web site www.objectmentors.com and when you have tired of that try www.oodesign.com.
I like Apress books for C# I used Pro C# 2005 and the .NET 2.0 Platform, Third Edition which was not as good as his 2003 Book but it is a pretty solid reference.
Foundations of Object-Oriented Programming Using .NET 2.0 Patterns by Christian Gross is a great book on OOP and Patterns you may want to look at I have found it quite good but it is complex. Beyond that may I suggest some O'Reilly books on the framework and c#.
Thanks alot for your reply, thanks to others too who took time to reply to my query.
In our part of the place, its easier to get a Wrox book rather than Apress or others, so I guess I'd get a Professional C# 2005 from Wrox and also use Internet as a resource.
But I always feel that the way we code in my company (it has a strength of 6 .NET developers) is of no good when I see code and articles posted by members of CodeProject. I would like to ask one thing, where can a person who is new to programming learn good coding standards, how can I know if the code I have written is good, how can I ensure that my piece of code doesn't waste memory.
Only thing commonly told here to improve performance of out application is to Dispose all objects we create and use more of .NET Classes. Is there any way that a person can get to know such things?
I hear you when it comes to standards. Programmers are probably the most opinionated group of people on earth I think this is because they are usually pretty bright and tend to think for themselves. The down side to this is trying to get a review without to much opinion such as coding standards.
In my humble opinion coding standards should be driven by need more than conceptual designs. My coding has changed because I truly hate producing code that I have to support or is riddled with bugs. Here is a list of stupid things I have done that do not work. Methods that are long and hold duplicate code (bad bad bad), inadequate use of constructors (initialize all member variables), a class that handles too much work (makes the program fragile) and my favorite classes that have dependencies on other classes to do their work.
I like the work from Robert Martin and Martin Fowler both of which have great web sites that provide in depth ways to solve my bad habits. I suggest that you start there then just review as much code as you can look for the why not the how in the design.
As a side note one of the things that our team has instigated is the practice of each team member presenting an OO Design principle or Pattern every year. What this will do is provide an outlet for research into the craft that we practice and creates a healthy learning environment. There is no magic book or web site you just have to dig deep and get very good at what you do and it takes time.
I would like to offer this insight however and I will paraphrase from a post I read here on CP. The languages we use are not for the benefit of the compiler they are structured the way they are for the humans. The code is written into IL in a much different format than your design. Use the OOD to make what you do better that is what it is for the processor could care less about OO so keep your eye on the prize stable maintenance free software.
Best of luck I look forward to hearing of you progress.
I really appreciate your reply, it was a surprise for me that somebody would spent so much of their time to reply to my query! Thanks alot!
I am attending C# classes these days, so I hope I can learn some basics and then go towards advanced topics on my own. I would be really greatful if I can contact you vai e-mail, if you are reluctant to post your e-mail id here, I can give you mine. Its:
If you don't mind that I contact you via e-mail, please send me your e-mail address. I look forward to hearing from you.
This creates a control called ItemCollectionHostControl, which has a 'Items' property. In this, you can add two types - 'IntItem' and 'StringItem'. It doesn't happen all of the time, but sometimes I get the following error message:
"The value 'Test.IntItem' is not of type 'Test.BaseItem' and cannot be used in this generic collection"
You may be able to add some items initially, but try then compiling the project, and adding some more.
Can someone see why this error is occurring, or what I'm doing wrong? If someone could try the code and see if it happens with them, that'd be great too.
I am trying to connect to Oracle database via C# service application. When I try to open the connection i get the exception "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached." This happens at very first instance(not after some interval...)
I have tried to search this on the net, but all in vain. Most of them have given the answere as to check with the connection. Below is the code snippit I am using to connect to database.
Your hint did not help me. This is a strange behaviour, If I connect to the same database from a desktop application developed in C# with the same connection string, it does executes the procedure. But the same tried from C# service application it hangs for a min and then throw this exception.
Let me know if am doing somthing wrong... I am in a pretty bad state with this exception.
As a test, go into the Services manager (Start/Run Services.msc), stop your service and change the userid and password that the service runs under to your id and password. Then restart the service and see what happens.
Even this did not help me. Is there any initial setup that has to be done on my system even before accessing the database from service applications ? like user creation, giving persmissions etc..etc...?
Code is very much the same. I am executing that in a console application. While carrying out your previous instruction I was given the permission to execute services(Log on services). So I restarted the machine and then carried out your instruction. Now I have strong feeling that some permission has to be given to my USERID and PWD on the local machine. And the serive was installed using "LocalSystem" property.
More over I am logging to a domain. Keeping this in mind I asked you about those question. Let me know if you need more info from my side.