LINQ

Hướng dẫn sử dụng Foreach linq c#

Foreach là 1 phương thức được cài sẵn trong generric. Lưu ý foreach này khác với mệnh đề foraech trong c# với các vòng lập.

Mục đích foreach duyệt từng phần tử trong danh sách.

Foreach linq c#

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 Hoclinqforeach

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            List Datadsso = new List();

            Random rd = new Random();

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

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

            {

                Datadsso.Add(rd.Next(50));

            }

            ////các foreach c# cũ trước.

            //lstso.Items.Clear();

            //foreach (int x in Datadsso)

            //{

            //    lstso.Items.Add(x);

            //}

            // cách viết foreach linq

            //Datadsso.ForEach(y => { lstso.Items.Add(y); });

            // cách số 3 viết linq foreach

            Datadsso.ForEach(x => hienthiso(x));

        }

        private void hienthiso(int x)

        {

            lstso.Items.Add(x);

        }

        List dataSanPham = new List();

        private void button2_Click(object sender, EventArgs e)

        {

            SanPham sp = new SanPham();

            sp.Ma = txtMa.Text;

            sp.Ten = txtTen.Text;

            dataSanPham.Add(sp);

            lvSanPham.Items.Clear();

            //dataSanPham.ForEach(x =>

            //{

            //    ListViewItem lvi = new ListViewItem(x.Ma);

            //    lvi.SubItems.Add(x.Ten);

            //    lvSanPham.Items.Add(lvi);

            //}

            //);

            dataSanPham.ForEach(x => Hienthisanpham(sp));

        }

        private void Hienthisanpham(SanPham sp )

        {

            ListViewItem lvi = new ListViewItem(sp.Ma);

            lvi.SubItems.Add(sp.Ten);

            lvSanPham.Items.Add(lvi);

        }

    }

}

TẠO LỚP SẢN PHẨM

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hoclinqforeach

{

 public    class SanPham

    {

        public string Ma { get; set; }

        public string Ten { get; set; }

    }

}