using System.Data.DataSetExtensions;
using System.Collections.Generic;
public static void Main()
public static void WithDataTable() {
DataTable dt = new DataTable("Movies");
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("title", typeof(string));
for(int i = 1; i <= 10; i++) {
dt.Rows.Add(i, $"Movie{i}");
foreach(DataRow row in dt.Rows) {
Console.WriteLine(row.Field<string>("title"));
Console.WriteLine("\nQuery result");
DataRow[] result = dt.Select("id in (3, 4)");
foreach(DataRow row in result) {
Console.WriteLine(row.Field<string>("title"));
public static void WithSimpleClasses() {
var movieRep = new MovieRepository();
for(int i = 1; i <= 10; i++) {
movieRep.Add(new Movie(i, $"Movie{i}"));
List<Movie> movies = movieRep.GetMovies();
foreach(Movie m in movies) {
Console.WriteLine(m.Title);
Console.WriteLine("\nQuery result");
var result = movies.Where(m => (new [] { 3, 4 }).Contains(m.Id));
foreach(Movie m in result) {
Console.WriteLine(m.Title);
public class MovieRepository {
private List<Movie> movies;
public MovieRepository() {
this.movies = new List<Movie>();
public List<Movie> GetMovies() {
public void Add(Movie movie) {
public Movie(int id, string title) {
public int Id { get { return this.id; } }
public string Title { get { return this.title; } }