C# List<T>泛型类中public int RemoveAll(Predicate<T> match)方法的解释与应用

1.Predicate match:是一个lambda表达式,我们要实现她当做参数传入,表达式的结果返回true或者false
2.list.RemoveAll(Predicate match):遍历list中的元素,将符合lambda表达式结果的元素全部删除掉,返回结果是删除掉的元素个数。

实例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace List_RemoveAll_Student
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>();
            list.Add(1);
            list.Add(2);
            list.Add(3);
            list.Add(4);
            list.Add(5);
            list.Add(6);
            list.Add(7);
            list.Add(8);
            list.Add(9);
            list.Add(10);

            int count = list.RemoveAll((a) => a > 3);
            Console.WriteLine("删除的个数:"+ count);
            Console.WriteLine("列表剩余的元素:");
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }

            Console.ReadKey();
        }
    }
}

结果:
在这里插入图片描述

C#中,`List<T>`是一个泛型集合,可以存储任何类型的对象,只要它们实现了某个公共接口或继承了某个公共类。如果你想要将这样的列表绑定到DataGridView控件上,以便于显示和操作数据,你可以按照以下步骤进行: 1. 创建一个泛型类或结构体(T)作为数据模型,它将是DataGridView的数据源。 ```csharp public class DataModel<T> where T : class { public int Id { get; set; } // 添加其他列的属性... } ``` 2. 使用`List<DataModel<T>>`来存储你的数据。 ```csharp List<DataModel<int>> dataList = new List<DataModel<int>>(); // 或者更具体的类型,如List<DataModel<Product>>,其中Product是你自定义的一个类。 ``` 3. 将`dataList`绑定到DataGridView: ```csharp dataGridView.DataSource = dataList; ``` 4. 对于增删改查操作: - **添加**:创建新的DataModel实例并添加到list中,然后更新DataSource。 ```csharp dataModel = new DataModel<int>(); dataModel.Id = 100; dataList.Add(dataModel); dataGridView.Refresh(); ``` - **删除**:从list中移除元素,再次刷新DataSource。 ```csharp dataList.Remove(dataModelToRemove); dataGridView.DataSource = dataList; ``` - **修改**:更新指定位置的数据模型属性,再同步到DataGridView。 ```csharp dataModelToUpdate.Id = newId; dataGridView.Rows[dataGridView.CurrentRow.Index].Cells["Id"].Value = newId; ``` - **查询**:可以根据条件过滤或搜索数据,但通常不会直接在DataGridView上做,而是在需要的时候通过LINQ查询出数据模型列表。 记得在实际应用中,可能还需要处理单元格编辑、事件处理等细节。此外,对于复杂的业务逻辑和性能优化,可能还会配合数据库操作使用DataSet或Entity Framework等工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值