using System;
using System.Linq;
public class User {
public string Name { get; set; }
public int Age { get; set; }
}
public class MainClass {
static void Main() {
var users = new User[] {
new User { Name = "David", Age = 16 },
new User { Name = "Charlie", Age = 29 },
new User { Name = "Alice", Age = 15 },
new User { Name = "Deanna", Age = 27 },
}.AsQueryable();
Write(GetAdultsBy(users, u => u.Name));
Write(GetAdultsBy(users, u => u.Age));
}
private static IQueryable<User> GetAdultsBy(IQueryable<User> users, Func<User, object> order) {
return users
.Where(u => u.Age > 18)
.OrderBy(order);
}
private static void Write(IQueryable<User> query) {
var names = query.Select(u => u.Name);
Console.WriteLine(string.Join(", ", names));
}
}