Use Generation Operators: Range

image_pdfimage_print
   
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class MainClass {
    public static void Main() {
        var numbers =
           from n in Enumerable.Range(100, 50)
           select new { Number = n, OddEven = n % 2 == 1 ? "odd" : "even" };

        foreach (var n in numbers) {
            Console.WriteLine("The number {0} is {1}.", n.Number, n.OddEven);
        }
    }
}

    


use ElementAt

image_pdfimage_print
   
 

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.ElementAt(4);
            Console.Write(query);
   }
}

    


Calling the ElementAt Operator

image_pdfimage_print
   
 

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().ElementAt(3);
        Console.WriteLine("{0} {1}", emp.firstName, emp.lastName);
    }
}

    


Use ElementAt to print the fourth number less that 5 in an integer array

image_pdfimage_print

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class MainClass {
public static void Main() {
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

int fourthLowNum = (
from n in numbers
where n < 5 select n) .ElementAt(3); // 3 because sequences use 0-based indexing Console.WriteLine("Fourth number < 5: {0}", fourthLowNum); } } [/csharp]

Get Distinct departments

image_pdfimage_print
   
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class Tree<TreeNode> : IEnumerable<TreeNode> where TreeNode : IComparable<TreeNode> {
    public Tree(TreeNode nodeValue) {
        this.NodeData = nodeValue;
        this.LeftTree = null;
        this.RightTree = null;
    }

    public void Insert(TreeNode newItem) {
        TreeNode currentNodeValue = this.NodeData;
        if (currentNodeValue.CompareTo(newItem) > 0) {
            if (this.LeftTree == null) {
                this.LeftTree = new Tree<TreeNode>(newItem);
            } else {
                this.LeftTree.Insert(newItem);
            }
        } else {
            if (this.RightTree == null) {
                this.RightTree = new Tree<TreeNode>(newItem);
            } else {
                this.RightTree.Insert(newItem);
            }
        }
    }

    public void WalkTree() {
        if (this.LeftTree != null) {
            this.LeftTree.WalkTree();
        }

        Console.WriteLine(this.NodeData.ToString());

        if (this.RightTree != null) {
            this.RightTree.WalkTree();
        }
    }

    public TreeNode NodeData { get; set; }
    public Tree<TreeNode> LeftTree { get; set; }
    public Tree<TreeNode> RightTree { get; set; }


    IEnumerator<TreeNode> IEnumerable<TreeNode>.GetEnumerator() {
        if (this.LeftTree != null) {
            foreach (TreeNode item in this.LeftTree) {
                yield return item;
            }
        }

        yield return this.NodeData;

        if (this.RightTree != null) {
            foreach (TreeNode item in this.RightTree) {
                yield return item;
            }
        }
    }
    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
        throw new NotImplementedException();
    }
}

class Employee : IComparable<Employee> {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Department { get; set; }
    public int Id { get; set; }

    public override string ToString() {
        return String.Format("Id: {0}, Name: {1} {2}, Dept: {3}", this.Id, this.FirstName, this.LastName, this.Department);
    }
    int IComparable<Employee>.CompareTo(Employee other) {
        if (other == null)
            return 1;

        if (this.Id > other.Id)
            return 1;

        if (this.Id < other.Id)
            return -1;

        return 0;
    }
}

class Program {
    static void Main() {
        Tree<Employee> empTree = new Tree<Employee>(new Employee { Id = 1, FirstName = "Janet", LastName = "Gates", Department = "IT" });
        empTree.Insert(new Employee { Id = 2, FirstName = "O", LastName = "G", Department = "Marketing" });
        empTree.Insert(new Employee { Id = 4, FirstName = "K", LastName = "H", Department = "IT" });
        empTree.Insert(new Employee { Id = 6, FirstName = "L", LastName = "H", Department = "Sales" });
        empTree.Insert(new Employee { Id = 3, FirstName = "E", LastName = "L", Department = "Sales" });
        empTree.Insert(new Employee { Id = 5, FirstName = "D", LastName = "L", Department = "Marketing" });

        var depts = (from d in empTree select d.Department).Distinct();

        foreach (var dept in depts)
            Console.WriteLine("Department: {0}", dept);
    }
}