using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee2 { public string id; public string firstName; public string lastName; public static ArrayList GetEmployeesArrayList() { ArrayList al = new ArrayList(); al.Add(new Employee2 { id = "1", firstName = "J", lastName = "R" }); al.Add(new Employee2 { id = "2", firstName = "W", lastName = "G" }); al.Add(new Employee2 { id = "3", firstName = "A", lastName = "H"}); al.Add(new Employee2 { id = "4", firstName = "D", lastName = "L" }); al.Add(new Employee2 { id = "101", firstName = "K", lastName = "F" }); return (al); } public static Employee2[] GetEmployeesArray() { return ((Employee2[])GetEmployeesArrayList().ToArray(typeof(Employee2))); } } public class MyStringifiedNumberComparer : IEqualityComparer<string> { public bool Equals(string x, string y) { return (Int32.Parse(x) == Int32.Parse(y)); } public int GetHashCode(string obj) { return Int32.Parse(obj).ToString().GetHashCode(); } } public class MainClass { public static void Main() { Dictionary<string, string> eDictionary = Employee2.GetEmployeesArray() .ToDictionary(k => k.id,i => string.Format("{0} {1}",i.firstName, i.lastName),new MyStringifiedNumberComparer()); string name = eDictionary["2"]; Console.WriteLine("Employee whose id == "2" : {0}", name); name = eDictionary["000002"]; Console.WriteLine("Employee whose id == "000002" : {0}", name); } }
LINQ
ToDictionary for an object list
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee { public int id; public string firstName; public string lastName; public static ArrayList GetEmployeesArrayList() { ArrayList al = new ArrayList(); al.Add(new Employee { id = 1, firstName = "J", lastName = "R" }); al.Add(new Employee { id = 2, firstName = "W", lastName = "G" }); al.Add(new Employee { id = 3, firstName = "A", lastName = "H" }); al.Add(new Employee { id = 4, firstName = "D", lastName = "L" }); al.Add(new Employee { id = 101, firstName = "K", lastName = "F" }); return (al); } public static Employee[] GetEmployeesArray() { return ((Employee[])GetEmployeesArrayList().ToArray()); } } public class MainClass { public static void Main() { Dictionary<int, string> eDictionary = Employee.GetEmployeesArray().ToDictionary(k => k.id, i => string.Format("{0} {1}",i.firstName, i.lastName)); string name = eDictionary[2]; Console.WriteLine("Employee whose id == 2 is {0}", name); } }
Second ToDictionary
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee2 { public string id; public string firstName; public string lastName; public static ArrayList GetEmployeesArrayList() { ArrayList al = new ArrayList(); al.Add(new Employee2 { id = "1", firstName = "J", lastName = "R" }); al.Add(new Employee2 { id = "2", firstName = "W", lastName = "G" }); al.Add(new Employee2 { id = "3", firstName = "A",lastName = "H"}); al.Add(new Employee2 { id = "4", firstName = "D", lastName = "L" }); al.Add(new Employee2 { id = "101", firstName = "K", lastName = "F" }); return (al); } public static Employee2[] GetEmployeesArray() { return ((Employee2[])GetEmployeesArrayList().ToArray(typeof(Employee2))); } } public class MyStringifiedNumberComparer : IEqualityComparer<string> { public bool Equals(string x, string y) { return (Int32.Parse(x) == Int32.Parse(y)); } public int GetHashCode(string obj) { return Int32.Parse(obj).ToString().GetHashCode(); } } public class MainClass { public static void Main() { Dictionary<string, Employee2> eDictionary = Employee2.GetEmployeesArray().ToDictionary(k => k.id, new MyStringifiedNumberComparer()); Employee2 e = eDictionary["2"]; Console.WriteLine("Employee whose id == "2" : {0} {1}", e.firstName, e.lastName); e = eDictionary["000002"]; Console.WriteLine("Employee whose id == "000002" : {0} {1}",e.firstName, e.lastName); } }
Calling the First ToDictionary Prototype
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee { public int id; public string firstName; public string lastName; public static ArrayList GetEmployeesArrayList() { ArrayList al = new ArrayList(); al.Add(new Employee { id = 1, firstName = "J", lastName = "R" }); al.Add(new Employee { id = 2, firstName = "W", lastName = "G" }); al.Add(new Employee { id = 3, firstName = "A", lastName = "H" }); al.Add(new Employee { id = 4, firstName = "D", lastName = "L" }); al.Add(new Employee { id = 101, firstName = "K", lastName = "F" }); return (al); } public static Employee[] GetEmployeesArray() { return ((Employee[])GetEmployeesArrayList().ToArray()); } } public class MainClass { public static void Main() { Dictionary<int, Employee> eDictionary = Employee.GetEmployeesArray().ToDictionary(k => k.id); Employee e = eDictionary[2]; Console.WriteLine("Employee whose id == 2 is {0} {1}", e.firstName, e.lastName); } }
ToDictionary: convert query result to Dictionary
using System; using System.Collections.Generic; using System.Linq; using System.Text; public class MainClass { public static void Main() { var scoreRecords = new[] { new {Name = "A", Score = 50}, new {Name = "B" , Score = 40}, new {Name = "C", Score = 45} }; var scoreRecordsDict = scoreRecords.ToDictionary(sr => sr.Name); Console.WriteLine("Bob's score: {0}", scoreRecordsDict["Bob"]); } }
Convert query to Dictionary
using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; public class MainClass{ public static void Main(){ var q = from m in typeof(int).GetMethods() group m by m.Name into gb select gb; Dictionary<string, int> d = q.ToDictionary(k => k.Key, k => k.Count()); } }
Convert query result to an Array
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
class Employee {
int _id;
int _idRole;
string _lastName;
string _firstName;
public int ID {
get { return _id; }
set { _id = value; }
}
public int IDRole {
get { return _idRole; }
set { _idRole = value; }
}
public string LastName {
get { return _lastName; }
set { _lastName = value; }
}
public string FirstName {
get { return _firstName; }
set { _firstName = value; }
}
}
public class MainClass {
public static void Main() {
List
new Employee { ID = 1, IDRole = 1, LastName = “A”, FirstName = “B”},
new Employee { ID = 2, IDRole = 2, LastName = “G”, FirstName = “T”}
};
var query = from p in people
where p.LastName.Length == 4
select p.LastName;
string[] names = query.ToArray();
for (int i = 0; i < names.Length; i++) Console.WriteLine(names[i]); } } [/csharp]