在c#中 RemoveAt、 Remove、delete用法区别
有三种方法可以删除 DataTable 中的 DataRow:
Delete 方法和 Remove 方法和 RemoveAt 方法
其区别是:
Delete 方法实际上不是从 DataTable 中删除掉一行,而是将其标志为删除,仅仅是做个记号,
Remove 方法则是真正的从 DataRow 中删除一行,
RemoveAt 方法是根据行的索引来删除。
Delete 的使用是 : Datatable.Rows[i].Delete();
注意: Delete() 之后需要 datatable.AccepteChanges() 方法确认完全删除,因为 Delete() 只是将其标志为删除,可以用 datatable.RejectChanges() 回滚,使该行取消删除。
Remove 的使用是: Datatable.Rows.Remove(datatable.Rows[i]);
RemoveAt 的使用是: DataTable.Rows.RemoveAt(index);
如果用 RemoveAt 方法删除的时候,如果是循环要注意要从后往前删,也就是 i--,例如:
for (int i = 0; i < dgv_datalist.Rows.Count; i--)
{ //删除 “运单编号”==item.运单编号 的行
dgv_datalist.Rows[i].Cells["运单编号"].Value.ToString().Equals(item.运单编号);
dgv_datalist.Rows.RemoveAt(i);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?