FindLast là hàm tìm kiếm và trả về đối tượng cuối cùng tìm thấy. Trong tập dữ liệu có rất nhiều đối tường trùng nhau.
Ví Dụ FindLast trong c# tìm kiếm đối tượng cuối cùng
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HocFindLast
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List dssp = new List();
private void Form1_Load(object sender, EventArgs e)
{
dssp.Add(new SanPham()
{Ma =”SP1″, Ten =”Ken”, NgayNhap =new DateTime(2021,9,15) });
dssp.Add(new SanPham()
{ Ma = “SP2”, Ten = “coca”, NgayNhap = new DateTime(2021, 9, 20) });
dssp.Add(new SanPham()
{ Ma = “SP3”, Ten = “tiger”, NgayNhap = new DateTime(2021,9, 25) });
dssp.Add(new SanPham()
{ Ma = “SP4”, Ten = “333”, NgayNhap = new DateTime(2021, 9, 28) });
dssp.Add(new SanPham()
{ Ma = “SP5”, Ten = “sai gon”, NgayNhap = new DateTime(2021, 9, 15) });
lvsanpham.Items.Clear();
dssp.ForEach(x =>
{
ListViewItem lvi = new ListViewItem(x.Ma);
lvi.SubItems.Add(x.Ten);
lvi.SubItems.Add(x.NgayNhap+”dd/MM/yyyy”);
lvsanpham.Items.Add(lvi);
}
);
}
List dsint = new List();
Random rd = new Random();
private void btnTaoDS_Click(object sender, EventArgs e)
{
dsint = new List();
int n = int.Parse(txtNhapSo.Text);
for (int i = 0; i < n; i++)
{
dsint.Add(rd.Next(10));
}
lstSo.Items.Clear();
dsint.ForEach(x => lstSo.Items.Add(x));
}
private void button2_Click(object sender, EventArgs e)
{
int t = int.Parse(txtTim.Text);
int kq = dsint.FindLast(x => x == t);
lblKetqua.Text = kq + “”;// không tìm thấy tra về số 0
// kiểu đối tường string không tìm thấy trả về null:
}
private void button1_Click(object sender, EventArgs e)
{
SanPham sp = dssp.FindLast(x => x.NgayNhap.Date == dtTim.Value.Date);
if (sp==null)
{
MessageBox.Show(” ko tìm thấy”);
}
else
{
txtMa.Text = sp.Ma;
txtTen.Text = sp.Ten;
txtNgayNhap.Text = sp.NgayNhap.ToString();
}
}
}
}
Lớp Sản Phẩm: SanPham
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HocFindLast
{
public class SanPham
{
public string Ma { get; set; }
public string Ten { get; set; }
public DateTime NgayNhap { get; set; }
}
}