ok, Not sure if this is a silly question or not. I'm trying to relate it to technical support. I have been in the technical support field for many years and with thousands of technical articles written for problems we find - it's impossible to memorize all the technical articles. Even some of the information and troubleshooting procedures are impossible to memorize. Heck, we even use the documentation to help us with the easier questions/problems customers are having and we can't memorize the entire documentation of the product for supporting purposes.

C# is my first real language learned other than intro courses.

So for programming, while I'm learning c#, do I need to memorize everything I read including syntax? Do people actually memorize EVERY method and what it does?

For example, currently right now I'm learning about properties. Creating the property within the class, using the property information to get and display the property information, as well as learning how to extract the information at runtime (as if you didn't have access to the code of the original class). There are a LOT of methods and TYPES involved in this process. In addition, some of the methods have other types that are not even used in the particular examples I'm learning. For example: The Type class provides several methods and I'm just learning how to use the GetProperties Method. Or another example is using the DisplayPropertyInfo method from the MethodInfo class.

Thanks for any insight, so I can concentrate on memorizing what I really should be memorizing. I'm doing a lot of reading right now, seeing a lot of code examples and code explanations.

I cannot really relate with a personal example. But I can't imagine having to memorize everything.

A better idea would be to memorize Properties and Methods that are commonly used (how do you know which are common? As you keep programming you will get a feel for what is commonly relied on).

As for the rest, the trick is just to be familiar with it. So if someone mentions DisplayPropertyInfo and is having problems with it, you can at least know where to start looking.

Bit of a generic answer but since no one else is answering I thought I'd give it a shot.

Hope it helps somewhat.

The thing to memorize is the syntax of things, the basic things, like ifs have to have round brackets, each "sentance" has a ; at the end, its case sensitive, if you want to change from one variable type to another you almost certtainly need to do that yourself..

Then, look at the function names, usually its quite an obvious name like

GetValue, or SetValue, or Length, or Count, List.Items .. then if nothing else even if you dont remember the parameters, a) intellisense will tell you, b) you can press F1 to find out.

If you're unsure, ask the question of google.. For example, someone here asked about returning data from a stored procedure.. if you go to google and type "return data from stored procedure c#" it was I think the second hit that had a full working example from MS.

You shouldn't be memorizing anything. You should be coding. Coding coding coding. For starters, you don't know what's worth remembering if you don't actually try and write some code. If you tried learning everything about something before you tried using it, you'd end up learning all sorts of minutia about irrelevant properties of largely irrelevant classes like Type and such.

The only stuff worth retaining in memory is the stuff that you accidentally remember, and the weird things that cause trouble. You should make a point to look at features of the language, that you don't currently know, instead of settling in to some subset of the language, but you shouldn't be memorizing any minutia. Right now, all I know about C# strings is that you can concatenate them with +, that you can get their "length" with .Size or .Length (I forget which one), and that there's a method named IndexOf. Sure, there's probably a substring method, and character indexing, because that would make sense and if I wanted those things, I could check the documentation. I don't even know what .Length or .Size measures. Whether it's UTF-16 code units or Unicode characters, I don't know. I do know that x.Length + y.Length == (x + y).Length , which is a more important thing.

IMO, familiarizing important function and method names would help. As what vckicks said, you will know what you are looking for which is an advantage for you. The reference would always be there. You could always take a look at it if you feel like you miss something or you don't understand what the function does.

Well memorizing also helps... hehehehe. BUT memorize only the basic ones then you'll go along WELL.

For a start try to familiarize or memorize the syntaxes on:

1. Conditional Statement
2. Looping
3. How to use the GET & SET of a property.
4. Data type/Variable declaration
5. THE VERY IMPORTANT ONE (GOOGLE)

This article has been dead for over six months. Start a new discussion instead.