1. Object and Collection Initializers
3. Auto Implemented properties.
Object initializers let you  assign values to any accessible fields or  properties of an object at creation time without having to explicitly  invoke a constructor.
http://msdn.microsoft.com/en-us/library/bb384062.aspx
2.  Anonymous types - (var)http://msdn.microsoft.com/en-us/library/bb384062.aspx
Anonymous  types provide a convenient way to encapsulate a set of  read-only properties into a single object without having to first  explicitly define a type. The type name is generated by the compiler and  is not available at the source code level. The type of the properties  is inferred by the compiler.
http://msdn.microsoft.com/en-us/library/bb397696.aspx
http://msdn.microsoft.com/en-us/library/bb397696.aspx
3. Auto Implemented properties.
Auto-implemented properties make  property-declaration more concise when  no additional logic is required in the property accessors. They also  enable client code to create objects
http://msdn.microsoft.com/en-us/library/bb384054.aspx
4.  Lambda Expressionhttp://msdn.microsoft.com/en-us/library/bb384054.aspx
A  lambda expression is an anonymous  function that can contain expressions and statements, and can be used to  create delegates or expression tree types.
http://msdn.microsoft.com/en-us/library/bb397687.aspx
5.  Extension methodhttp://msdn.microsoft.com/en-us/library/bb397687.aspx
Extension  methods enable you to "add" methods to existing types without  creating a new derived type, recompiling, or otherwise modifying the  original type. Extension methods are a special kind of static method,  but they are called as if they were instance methods on the extended  type. For client code written in C# and Visual Basic, there is no  apparent difference between calling an extension method and the methods  that are actually defined in a type
http://msdn.microsoft.com/en-us/library/bb383977.aspx
http://msdn.microsoft.com/en-us/library/bb383977.aspx