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