.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Articles >> LINQ >> Post New Resource Bookmark and Share   

 Subscribe to Articles

What are anonymous types : LINQ in a tweak

Posted By:Gaurav Arora       Posted Date: April 28, 2009    Points: 25    Category: LINQ    URL: http://www.dotnetspark.com  
 

Introduction

For Visual Basic programmers, the keyword 'var' is confusing here as the type variant was used in Visual Basic.

 

Here, the keyword var tells to compiler to emit a strong type based on the value of the operation on the right side.

Important

Anonymous types can be used to initialize simple types like integers and strings.

 

Rules

 Following are the some basic rules to use LINQ Anonymous Types.

 

1.      Anonymous types can't be null.

2.      Must always have an initial assignment.

3.      Can be used with Simple or complex types, but composite anonymous types require member declaration

 

example

var mylist = new {Topic="Anonymous-Types" [, declaratory = value, ...]}

In above code, Topic is the member declaratory.

4.      Supports intellisense.

5.      Cannot be used for class field.

6.      Can be used with arrays.

7.      Anonymous types are all derived from the Object type.

 

 

Now, lets explore some category or types of anonymous types:

 

Simple Anonymous Type

With the keyword var and giving the value of the variable in the right side of the assignment operator (=), anyone can declare the Simple anonymous type.

 

var list = "Anonymous Types in LINQ";

 

The anonymous type is assigned to the name on the left side of the assignment operator, and the type emitted by the compiler to Microsoft Intermediate Language (MSIL) is determined by the right side of the operator.

 

The above line is identical in the MSIL if defined as following:

var list = "Anonymous Types in LINQ";

 

Array Initializer Syntax

Anyone can use the Anonymous Type to initialize the array too but with a rigid rule that is : new keyword must have to use.

 

example

var myArrayWithAntype = new int[]{ 1, 2, 12, 53, 58, 8, 2113, 2221 };

 

In above the array is Anonymous as it is defined with Anonymous Type initialize rule.

 

Composite Anonymous Types : Lets define,

 

Now, lets take a look how to define Composite Anonymous Type. It's called just as class without the "typed" class definition.

 

var fullname = new {FirstName="Gaurav", LastName="Arora"};

in above 'fullname' contains both first and last name. Go through following:

 

//throws an error

Console.WriteLine(fullname.FirstName);

 

//Displays fullname

Console.WriteLine(fullname);

 

Note

1. Anonymous types are immutable.

2. Within the scope of article we have supplied a little tricks, there can be generic anonymous methods, you can apply methods, can return anonymous values etc.

 

 


 Subscribe to Articles

     

Further Readings:

Responses

No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More Articles on C#, ASP.Net, Vb.Net, SQL Server and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend