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(typeof(Employee)));
}
}
public class MainClass {
public static void Main() {
ArrayList employees = Employee.GetEmployeesArrayList();
Console.WriteLine("The data type of employees is " + employees.GetType());
var seq = employees.Cast<Employee>();
Console.WriteLine("The data type of seq is " + seq.GetType());
var emps = seq.OrderBy(e => e.lastName);
foreach (Employee emp in emps)
Console.WriteLine("{0} {1}", emp.firstName, emp.lastName);
}
}
Month: February 2011
Convert an ArrayList to an IEnumerable
Calling the ToList Operator
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass {
public static void Main() {
string[] presidents = {"G", "H", "a", "H", "over", "Jack"};
List<string> names = presidents.ToList();
foreach (string name in names)
Console.WriteLine(name);
}
}
Convert Query result to a List
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<Employee> people = new List<Employee> {
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;
List<string> names = query.ToList<string>();
Console.Write(names);
}
}
ToDictionary with IEqualityComparer
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);
}
}
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);
}
}
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());
}
}
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"]);
}
}

