02 June 2016

Học lambda in List trong c#

Học lambda trong c#
Lambda có tác dụng lọc, tìm kiếm... trong list C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ListDelegate
{
    class Person
    {
        public string SSN;
        public string Name;
        public string Address;
        public int Age;
        public Person(){}
        public Person(string ssn, string name, string addr, int age)
        {
            SSN = ssn;
            Name = name;
            Address = addr;
            Age = age;
        }
    }
}
Học lambda trong c#

Lambda có tác dụng lọc, tìm kiếm... trong list C# 2016

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ListDelegate
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Person> listPersonCity = new List<Person>();
            listPersonCity.Add(new Person("001", "JOp-0", "Ccalifonia", 23));
            listPersonCity.Add(new Person("002", "JON-9", "Ccalifonia", 84));
            listPersonCity.Add(new Person("009", "JOt-5", "Ccalifonia", 35));
            listPersonCity.Add(new Person("007", "JON-3", "Ccalifonia", 26));
            listPersonCity.Add(new Person("008", "JON-1", "Ccalifonia", 47));
            listPersonCity.Add(new Person("004", "JON-4", "Ccalifonia", 83));
            listPersonCity.Add(new Person("003", "JON-2", "Ccalifonia", 93));

            //Tim lấy ra 2 người có tuổi lớn hơn 40
            Console.WriteLine("\n---1--FindAll Take().ToList() Lay ra 2 nguoi do tuoi >=40");
            foreach(Person person in listPersonCity.FindAll(e => (e.Age >=40 )).Take(2).ToList()){
                Console.WriteLine("\tName: "+person.Name+" Age: "+person.Age);
            }

            //Tìm in ra bất kỳ người nào có tuổi từ 13 - đến 19
            Console.WriteLine("\n---2--Any<> Tim bat ki do tuoi nam trong 33- 39");
            if(listPersonCity.Any(e => e.Age >=33 && e.Age <= 39)){
                Console.WriteLine("\tCo trong danh sach");
            }
            //Tìm tất cả những người có tuổi trên 20 
            Console.WriteLine("\n---3--All<> tim tat ca nguoi co tuoi tren 20");
            if(listPersonCity.All(e => e.Age > 20)){
                Console.WriteLine("\tCo rat nhieu trong danh sach");
            }
            //Tim tuoi trung binh trong danh sach
            Console.WriteLine("\n---4--Average tim tuoi trung binh trong danh sach");
            Double ave = listPersonCity.Average(e => e.Age);
            Console.WriteLine("\tTuoi tung binh la: {0}",ave);

            //Exists Neu trong danh sach co ten can loai thi thoat exit
            Console.WriteLine("\n---5--Exists Neu trong danh sach co ten JON-1 thi exit");
            if(listPersonCity.Exists(e => e.Name =="JON-1")){
                Console.WriteLine("\tCo trong danh sach - thoat chuong trinh");
            }
            
            // FindIndex tìm vi trí của Name trong list
            Console.WriteLine("\n---6--FindIndex tim vi tri trong list ");
            int indexForSmith = listPersonCity.FindIndex(e => e.Name =="JON-1");
            Console.WriteLine("\tTen JON-1 nam o vi tri so: "+indexForSmith);

            // First va Max tim nguoi co tuoi lon nhat trong danh sach
            Console.WriteLine("\n---7--First - Max Nguoi co tuoi lon nhat la");
            Person p = listPersonCity.First(m => m.Age ==(listPersonCity.Max(e => e.Age)));
            Console.WriteLine("\tNguoi co tuoi lon nhat la: "+p.Name+" , "+p.Age);

            // Sum tinh tong tuoi trong danh sach
            Console.WriteLine("\n---8--Sum tinh tong tuoi trong danh sach");
            int sum = listPersonCity.Sum(e => e.Age);
            Console.WriteLine("\tTong so tuoi trong danh sach la:  "+sum);
            
            //SkipWhile
            Console.WriteLine("\n---9--SkipWhile SkipWhile(e => e.Age < 60)");
            foreach (Person pers in listPersonCity.SkipWhile(e => e.Age < 60))
            {
                Console.WriteLine("\tName : " + pers.Name + " \t\tAge: " + pers.Age);
            }

            //TakeWhile - StartsWith  in ra ten bat dau chu J 
            Console.WriteLine("\n---10--TakeWhile e.Name.StartsWith(J) in ra ten bat dau chu J ");
            foreach(Person p1 in listPersonCity.TakeWhile(e => e.Name.StartsWith("J") )){
                Console.WriteLine("\t "+p1.Name+" \t\t "+p1.Age);
            }
            //TrueForAll
            Console.WriteLine("\n---11--TrueForAll(e => e.SSN != null)");
            if (listPersonCity.TrueForAll(e => e.SSN != null))
            {
                Console.WriteLine("\tNo person is found without SSN");
            }
            //RemoveAll - TrueForAll Xoa JON-1 va TrueForAll khong thay nua
            Console.WriteLine("\n---12--RemoveAll Xoa JON-1 va TrueForAll khong thay nua");
            listPersonCity.RemoveAll(e => (e.Name == "JON-1"));
            if (listPersonCity.TrueForAll(e => e.Name != "JON-1"))
            {
                Console.WriteLine("\tNo person is found with 'JON-1' name in current list");
            }
            //Find Tim Ma 002 Trong SSN
            Console.WriteLine("\n---13--Find Tim Ma 002 Trong SSN");
            Person oPerson = listPersonCity.Find(e => (e.SSN == "002"));
            Console.WriteLine("\tthe person having SSN '002' is : " + oPerson.Name + " \t\tAge: " + oPerson.Age);

            Console.Read();
        }
    }
}


string occur = "Test1";
IList<String> words = new List<string>() {"Test1","Test2","Test3","Test1"};

int count = words.Where(x => x.Equals(occur)).Count();

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang