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"};
string[] names = presidents.OfType<string>().ToArray();
foreach (string name in names)
Console.WriteLine(name);
}
}
Month: February 2011
TakeWhile with two parameters
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass {
public static void Main() {
string[] presidents = {“ant”, “Hard”, “Harrison”, “Hayes”, “Hoover”, “Jack”};
IEnumerable
.TakeWhile((s, i) => s.Length < 10 && i < 5);
foreach (string item in items)
Console.WriteLine(item);
}
}
[/csharp]
uses an OrderBy and a ThenBy clause with a custom comparer to sort first by word length and then by a case-insensitive descending sort of the words in an array.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class CaseInsensitiveComparer : IComparer<string> {
public int Compare(string x, string y) {
return string.Compare(x, y, true);
}
}
public class MainClass {
public static void Main() {
string[] words = { "a", "A", "b", "B", "C", "c" };
var sortedWords =
words.OrderBy(a => a.Length)
.ThenByDescending(a => a, new CaseInsensitiveComparer());
foreach (var s in sortedWords) {
Console.WriteLine(s);
}
}
}
First ThenBy Prototype
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass {
public static void Main() {
string[] presidents = {"ant", "arding", "arrison", "eyes", "over", "Jackson"};
IEnumerable<string> items = presidents.OrderBy(s => s.Length).ThenBy(s => s);
foreach (string item in items)
Console.WriteLine(item);
}
}
First ThenByDescending Prototype
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass {
public static void Main() {
string[] presidents = {"ant", "arding", "arrison", "eyes", "over", "Jackson"};
IEnumerable<string> items =
presidents.OrderBy(s => s.Length).ThenByDescending(s => s);
foreach (string item in items)
Console.WriteLine(item);
}
}
TakeWhile with expresion
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class MainClass {
public static void Main() {
string[] presidents = {“1234567890123”, “Art”, “Buch”, “Bush”, “Car”, “land”};
IEnumerable
Partitioning Operators: uses Take to generate a sequence of the first three elements of an integer array.
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};
var first3Numbers = numbers.Take(3);
Console.WriteLine("First 3 numbers:");
foreach (var n in first3Numbers) {
Console.WriteLine(n);
}
}
}

