65.9K
CodeProject is changing. Read more.
Home

Collection Initializers and Query Expressions for Dictionary Objects

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.57/5 (4 votes)

Feb 12, 2009

CPOL
viewsIcon

21351

downloadIcon

105

This article explains the syntax to use collection initializers and query expressions for Dictionary objects in C# 3.0.

Introduction

This article explains the syntax to use collection initializers and query expressions for Dictionary objects in C# 3.0.

Background 

I was learning the new features of C# 3.0. Though the use of collection initializers and query expressions are simple and straight forward in most cases, their use with Dictionary objects are not well documented. Hence, this article gives a beginner level approach to understanding collection initializers and query expressions with Dictionary objects.

Using the Code

In the below block of code, a Dictionary object (currencyCollection) has been defined. The Key holds an id, and the Value holds different currencies.

//Collection Initializers
Dictionary<int, string> currencyCollection = new Dictionary<int, string> {
                {1,"Indian Rupee"},
                {2, "United States Dollar"},
                {3, "Euro"},
                {4, "British Pound"},
                {5, "Australian Dollar"},
                {6, "Japanese Yen" },
                {7,"Indian Rupee"}
};

In the next step, I'm querying the currency "Indian Rupee" using query expressions. This expression will find out the entries for "Indian Rupee".

//Query Expressions
var query = from c in currencyCollection
            where (c.Value.Equals("Indian Rupee"))
            select c;

Now the variant query has the objects after filtering only "Indian Rupee". I use a simple foreach to display the results.

//Iterate through the dictionary and print
foreach (var ky in query)
    Console.WriteLine("{0}, {1}", ky.Key.ToString(), ky.Value); 

Points of Interest

Two things which I learnt were as follows:

  1. How to use collection initializers for Dictionary objects.
  2. How to use query expressions for Dictionary objects.

History

  • Created: 2009-Feb-11