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();
}
}
}
Nguồn: http://www.c-sharpcorner.com/UploadFile/0f68f2/using-lambda-expression-over-a-list-in-C-Sharp/
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