LINQ

Hàm FindIndex trong linq tìm giá trị đầu tiên

Findindex dùng để tìm kiếm 1 phần tử nào đó trong 1 tập danh sách, hàm này trả về vị trí đầu tiên của danh sách. Nếu trong tập dữ liệu có nhiều phần tử trùng nhau nó lấy vị trí đâu tiên, không thấy trả về -1.

Findindex

CODE HƯỚNG DẪN SỬ DỤNG HÀM FINDINDEX:

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 Findindex

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            HienSanPham();

            dssp.ForEach(x =>

            {

                ListViewItem lvi = new ListViewItem(x.Ma);

                lvi.SubItems.Add(x.Ten);

                lvi.SubItems.Add(x.XuatXu);

                lvSanPham.Items.Add(lvi);

            }

            );

        }

        private void HienSanPham()

        {

            dssp.Add(new SanPham() { Ma = “SP1″, Ten = ” Nhân Sâm”, XuatXu = “Hàn Quốc” });

            dssp.Add(new SanPham() { Ma = “SP2″, Ten = ” Cà Chua”, XuatXu = “việt nam” });

            dssp.Add(new SanPham() { Ma = “SP3″, Ten = ” Táo Đỏ”, XuatXu = “Mỹ” });

            dssp.Add(new SanPham() { Ma = “SP4″, Ten = ” Ổi”, XuatXu = “Việt Nam” });

        }

        List dsint = new List();

        Random rd = new Random();

        private void btnTaoDS_Click(object sender, EventArgs e)

        {

            int n = int.Parse(txtNhap.Text);

            dsint = new List();

            for (int i = 0; i < n; i++)

            {

                dsint.Add(rd.Next(100));

            }

            lstSo.Items.Clear();

            dsint.ForEach(x => lstSo.Items.Add(x));

        }

        private void btnTim_Click(object sender, EventArgs e)

        {

            int t = int.Parse(txtTim.Text);

            int kq = dsint.FindIndex(x => x == t);

            txtTim.Text = kq + “”;

        }

        List dssp = new List();

        private void button1_Click(object sender, EventArgs e)

        {

            string t = txtTimXX.Text;

           int kq= dssp.FindIndex(x => x.XuatXu == t);

            lblxx.Text = kq + “”;

        }

    }

}

 Tạo lớp sản phẩm: SanPham

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Findindex

{

   public class SanPham

    {

        public string Ma { get; set; }

        public string Ten { get; set; }

        public string XuatXu { get; set; }

    }

}