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() {
Employee emp = Employee.GetEmployeesArray().SingleOrDefault(e => e.id == 4);
Console.WriteLine(emp == null ? "NULL" :
string.Format("{0} {1}", emp.firstName, emp.lastName));
}
}
Month: February 2011
LastOrDefault: Where an Element Is Not Found
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() {
Employee emp = Employee.GetEmployeesArray().LastOrDefault(e => e.id == 5);
Console.WriteLine(emp == null ? "NULL" :
string.Format("{0} {1}", emp.firstName, emp.lastName));
}
}
Use SingleOrDefault
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
public class MainClass{
public static void Main(){
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};
var query = numbers.SingleOrDefault(n => n > 9);
Console.Write(query);
}
}
Single with condition
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() {
Employee emp = Employee.GetEmployeesArray().Single(e => e.id == 3);
Console.WriteLine("{0} {1}", emp.firstName, emp.lastName);
}
}
SequenceEqual Operator with string array
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
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() {
string[] stringifiedNums1 = { "101", "49", "017", "1080", "00027", "2" };
string[] stringifiedNums2 = {"1", "1049", "17", "080", "27", "02" };
bool eq = stringifiedNums1.SequenceEqual(stringifiedNums2,new MyStringifiedNumberComparer());
Console.WriteLine(eq);
}
}
SequenceEqual Operator with Take and Count
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"};
bool eq = presidents.SequenceEqual(presidents.Take(presidents.Count()));
Console.WriteLine(eq);
}
}
SequenceEqual Operator with Take, Concat and Skip
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"};
bool eq = presidents.SequenceEqual(presidents.Take(5).Concat(presidents.Skip(5)));
Console.WriteLine(eq);
}
}

