LINQ

Hướng dẫn sử dụng FindLast trong c# tìm kiếm đối tượng cuối cùng

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.

FindLast trong c#

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; }

    }

}