using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Reflection;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
class Person {
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; }
}
}
class Program {
static void Main(string[] args) {
List<Person> people = new List<Person> {
new Person { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
new Person { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"}
};
var query = people
.Where(p => p.ID == 1)
.Select(p => new { p.FirstName, p.LastName })
.ToArray();
people[0].FirstName = "F";
}
}
Author: coder
Use Conversion Operators ToArray
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class MainClass {
public static void Main() {
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
var sortedDoubles =
from d in doubles
orderby d descending
select d;
var doublesArray = sortedDoubles.ToArray();
Console.WriteLine(“Every other double from highest to lowest:”);
for (int d = 0; d < doublesArray.Length; d += 2) {
Console.WriteLine(doublesArray[d]);
}
}
}
[/csharp]
Calling the ToArray 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"};
string[] names = presidents.OfType<string>().ToArray();
foreach (string name in names)
Console.WriteLine(name);
}
}
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);
}
}