コード例 #1
0
        static void Main(string[] args)
        {
            var pets = new SnooperList <Pet>(new List <Pet>()
            {
                new Pet("Rudolph the Goldfish", new AnimalKind("Goldfish", AnimalType.Fish, eyes: 2, legs: 0)),
                new Pet("Hugo", new AnimalKind("Dog", AnimalType.Bird)),
                new Pet("Kaptajn Kaper", new AnimalKind("Parrot", AnimalType.Bird)),
                new Pet("Mr. Hammer Jr.", new AnimalKind("Millipede", AnimalType.Fish, eyes: 2, legs: 1000)),
                new Pet("Ms. Silk", new AnimalKind("Spider", AnimalType.Bird, eyes: 6, legs: 8))
            });

            var people = new SnooperList <Person>(new List <Person>()
            {
                new Person("Anders And", 1934),
                new Person("Mr. Hammer", 1975, pets[3]),
                new Person("Sørøver John", 1969, pets[2]),
                new Person("Bent Tonse", 1973, pets[0]),
                new Person("Fyrst Walter", 1965),
                new Person("Gentleman Finn", 1972, pets[4]),
                new Person("Newton Dynamose", 1657)
            });

            // Register handlers, so we will know when the lists are enumerated
            pets.Enumerated   += (s, e) => Console.WriteLine("*** Pets enumerated ***");
            people.Enumerated += (s, e) => Console.WriteLine("*** People enumerated ***");

            Console.WriteLine("Before calling any LINQ methods");
            var query = pets.Where(pet => pet.Kind.Legs > 2);

            Console.WriteLine("After Where");
            query = query.OrderBy(pet => pet.Name);
            Console.WriteLine("After OrderBy");
            var query2 = query.Select(pet => pet.Kind.Name);

            Console.WriteLine("After Select");

            int items = query2.Count();

            Console.WriteLine("After Count");

            foreach (var item in query)
            {
                Console.WriteLine(item.Name);
            }

            Console.ReadKey();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var pets = new SnooperList <Pet>(new List <Pet>()
            {
                new Pet("Rudolph the Goldfish", new AnimalKind("Goldfish", AnimalType.Fish, eyes: 2, legs: 0)),
                new Pet("Hugo", new AnimalKind("Dog", AnimalType.Bird)),
                new Pet("Kaptajn Kaper", new AnimalKind("Parrot", AnimalType.Bird)),
                new Pet("Mr. Hammer Jr.", new AnimalKind("Millipede", AnimalType.Fish, eyes: 2, legs: 1000)),
                new Pet("Ms. Silk", new AnimalKind("Spider", AnimalType.Bird, eyes: 6, legs: 8))
            });

            var people = new SnooperList <Person>(new List <Person>()
            {
                new Person("Anders And", 1934),
                new Person("Mr. Hammer", 1975, pets[3]),
                new Person("Sørøver John", 1969, pets[2]),
                new Person("Bent Tonse", 1973, pets[0]),
                new Person("Fyrst Walter", 1965),
                new Person("Gentleman Finn", 1972, pets[4]),
                new Person("Newton Dynamose", 1657)
            });

            // Register handlers, so we will know when the lists are enumerated
            pets.Enumerated   += (s, e) => Console.WriteLine("*** Pets enumerated ***");
            people.Enumerated += (s, e) => Console.WriteLine("*** People enumerated ***");

            Console.WriteLine("Before calling any LINQ methods");
            var query = pets.Where(pet => pet.Kind.Legs > 2);

            Console.WriteLine("After Where");
            query = query.OrderBy(pet => pet.Name);
            Console.WriteLine("After OrderBy");
            var query2 = query.Select(pet => pet.Kind.Name);

            Console.WriteLine("After Select");

            int items = query2.Count();

            Console.WriteLine("After Count");

            foreach (var item in query)
            {
                Console.WriteLine(item.Name);
            }

            // LINQ - Modul#4 slide 35 opgaver

            var born72 =
                from item in people
                where item.BirthYear == 1972
                select item.Name;

            Console.WriteLine("Født i 1972:");
            foreach (var match in born72)
            {
                Console.WriteLine(match);
            }

            var all =
                from item in people
                orderby item.Name descending
                select item.Name;

            Console.WriteLine("Alle sorteret efter navn - omvendt:");
            foreach (var match in all)
            {
                Console.WriteLine(match);
            }

            var fishpet =
                from item in pets
                where item.Kind.Type == AnimalType.Fish
                select item.Name;

            Console.WriteLine("Kæledyrnavne - fisk:");
            foreach (var match in fishpet)
            {
                Console.WriteLine(match);
            }

            var pets2eyes =
                from item in people
                where item.Pet != null
                where item.Pet.Kind.Eyes >= 2
                select item.Name;

            Console.WriteLine("Alle personer med kæledyr med mere end 2 øjne:");
            foreach (var match in pets2eyes)
            {
                Console.WriteLine(match);
            }

            var peoplewithpets =
                from item in people
                where item.Pet != null
                orderby item.Pet.Kind.Type, item.Name
            select item.Name;

            Console.WriteLine("Alle personer med kæledyr sorteret efter kæledyr herefter personnavn:");
            foreach (var match in peoplewithpets)
            {
                Console.WriteLine(match);
            }

            var peoplegrouppets =
                from item in people
                where item.Pet != null
                group item by item.Pet.Kind.Type;

            Console.WriteLine("Alle personer med kæledyr grupperet efter kæledyrstype:");
            foreach (var match in peoplegrouppets)
            {
                foreach (var name in match)
                {
                    Console.WriteLine(name.Name + " : " + name.Pet.Kind.Type);
                }
            }

            var petsoffish =
                from item in pets
                where (item.Kind.Type == AnimalType.Fish) && (item.Kind.Legs > 0)
                orderby item.Kind.Legs
                select item.Name;

            Console.WriteLine("Alle kæledyr der er fisk, og som har flere end 0 ben:");
            foreach (var match in petsoffish)
            {
                Console.WriteLine(match);
            }

            var personswithpets =
                from item in people
                where item.Pet != null
                join pitem in pets
                on item.Pet.Name equals pitem.Name
                select new
            {
                pername = item.Name,
                petname = pitem.Name
            };

            Console.WriteLine("Alle personer med kæledyr:");
            foreach (var match in personswithpets)
            {
                Console.WriteLine("Personnavn: " + match.pername + " (" + match.petname + ")");
            }

            MainAsync().Wait(); // Hvis afvikles uden Wait udføres Delay asynkront (samtidigt)
            Console.WriteLine("After MainAsync!");

            Console.ReadKey();
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: nFocusGit/xamarin
        static void Main(string[] args)
        {
            // http://www.csharpstar.com/async-await-keyword-csharp/
            //////////////////////////Test Async...
            Console.WriteLine("Async started...");
            Task <string> value = MainAsync();

            Console.WriteLine("Async ended...press a key to continue...");
            Console.ReadKey();
            ///////////////////////////////////////////////////////////
            var pets = new SnooperList <Pet>(new List <Pet>()
            {
                new Pet("Rudolph the Goldfish", new AnimalKind("Goldfish", AnimalType.Fish, eyes: 2, legs: 0)),
                new Pet("Hugo", new AnimalKind("Dog", AnimalType.Bird)),
                new Pet("Kaptajn Kaper", new AnimalKind("Parrot", AnimalType.Bird)),
                new Pet("Mr. Hammer Jr.", new AnimalKind("Millipede", AnimalType.Fish, eyes: 2, legs: 1000)),
                new Pet("Ms. Silk", new AnimalKind("Spider", AnimalType.Bird, eyes: 6, legs: 8))
            });

            var people = new SnooperList <Person>(new List <Person>()
            {
                new Person("Anders And", 1934),
                new Person("Mr. Hammer", 1975, pets[3]),
                new Person("Sørøver John", 1969, pets[2]),
                new Person("Bent Tonse", 1973, pets[0]),
                new Person("Fyrst Walter", 1965),
                new Person("Gentleman Finn", 1972, pets[4]),
                new Person("Newton Dynamose", 1657)
            });

            // Register handlers, so we will know when the lists are enumerated
            pets.Enumerated   += (s, e) => Console.WriteLine("*** Pets enumerated ***");
            people.Enumerated += (s, e) => Console.WriteLine("*** People enumerated ***");

            Console.WriteLine("Before calling any LINQ methods");
            var query = pets.Where(pet => pet.Kind.Legs > 2);

            Console.WriteLine("After Where");
            query = query.OrderBy(pet => pet.Name);
            Console.WriteLine("After OrderBy");
            var query2 = query.Select(pet => pet.Kind.Name);

            Console.WriteLine("After Select");

            int items = query2.Count();

            Console.WriteLine("After Count");

            foreach (var item in query)
            {
                Console.WriteLine(item.Name);
            }

            Console.ReadKey();
            //////////////////////// find Person born in 1972
            var findPerson1972 = from p in people
                                 where p.BirthYear.ToString() == "1972"
                                 select p;

            foreach (var item in findPerson1972)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadKey();
            //////////////////////// find all Persons
            var findAllPersons = from p in people
                                 orderby p.Name //descending
                                 select p;

            foreach (var item in findAllPersons)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadKey();
            //////////////////////// find Fish Pets
            var findFishPets = from p in pets
                               where p.Kind.Type == AnimalType.Fish
                               select p;

            foreach (var item in findFishPets)
            {
                Console.WriteLine(item.Kind.Name + " Type: " + item.Kind.Type);
            }
            Console.ReadKey();
            //////////////////////// find Pets with more than 2 eyes
            var findPetsWithMoreThan2Eyes = from p in people
                                            where (p.Pet != null) && p.Pet.Kind.Eyes > 2
                                            select p;

            foreach (var item in findPetsWithMoreThan2Eyes)
            {
                Console.WriteLine(item.Name + " Pet: " + item.Pet.Name + " Eyes: " + item.Pet.Kind.Eyes);
            }
            Console.ReadKey();
            //////////////////////// Sort by Pet type and Person name
            var findSortedByPetTypeAndPersons = from p in people
                                                where p.Pet != null
                                                orderby p.Pet.Kind.Type, p.Name
            select p;

            foreach (var item in findSortedByPetTypeAndPersons)
            {
                Console.WriteLine("Pet type: " + item.Pet.Kind.Type + " Owner: " + item.Name);
            }
            Console.ReadKey();
            //////////////////////// Group by Pet type
            var findPetGroups = from p in people
                                where p.Pet != null
                                group p by p.Pet.Kind.Type into g
                                select new { PetType = g.Key, Name = g };

            foreach (var item in findPetGroups)
            {
                Console.WriteLine("Pet type: " + item.PetType);
                foreach (var person in item.Name)
                {
                    Console.WriteLine("Person Name: " + person.Name);
                }
            }
            Console.ReadKey();
        }