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); } }