Remove magic values (strings, integers, etc) using permanent, immutable identifiers. Only use for things that NEVER change - not for product prices, etc. Define const at local or field.
GUID means Globally Unique Identifier Working with Enumerations A data type accepting only enumerated values that you define. Strongly typed, ridding you app of "magic strings".
More elegant way to iterate collections In Visual Studio, after typing foreach, press tab button twice Implicitly Typed Local Variables with the var Keyword (Applies to locally scoped variable declarations) Compiler is smart enough to figure out the data type when you initialize the variable. Become increasingly important because sometimes its difficult to know what … Continue reading C# – Looping with the Foreach Iteration Statement
Dictionary allows you to use a key to access a member of the collection. Think: Webster's dictionary... the word (key) then the definition (instance of a given type) Key is anything that is meaningful in your system. Key must be unique. TKEY => type of the key TValue => type of the value
Concise way to initialize a new object (or collection) with values. // No local variable name for the new Car instance needed! Collection Initializers Shortcut to create new instance of a generic collection AND initialize it by IMMEDIATELY adding new instances of given type.
Use Generic Collections to work with items in a strongly typed fashion. Better than arrays: Know the type of the item for a certainty, no casting / converting Better performance inserting / removing / updating Collections provide more flexible actions to access items in the collection. Allows for LINQ extension methods Many different type of … Continue reading C# – Working with List of Collections
Static member - no instance of the class required to call method. Instance member - must create an instance w/ new keyword to call methods and properties. Can mix in the same class, but can not reference instance members from inside of static members. Classes can be decorated w/ static keyword - all members must … Continue reading C# – Static versus Instance Members
You will find the general rules for identifiying naming PascalCase - public camelCase - private, protected Public classes, methods and properties - PascalCase Private helper methods, input parameters - camelCase Locally scoped variables - camelCase Private field - camelCase prefixed w/ underscore: _firstName Choose long, memorable, understandable names that convey meaning / intent.
Constructor are called at the moment of instantiation. Used to put the new instance of the class into valid state. Whether you define or not, there is a default constructor. You can override the default (no input parameters) or overload the constructor to allow the user to set the new instance to a valid state.
Public - Class or member can be accessed by any code. Private - Class or member can only be accessed by parent class. Protected - Class or member can only be accessed by parent class or derived class. Internal - Class or member can only be accessed by code inside the same assembly. Classes are … Continue reading C# – Accessibility Modifiers, Fields and Properties