在c#中 RemoveAt、 Remove、delete用法区别_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 在c#中 RemoveAt、 Remove、delete用法区别

在c#中 RemoveAt、 Remove、delete用法区别

 2016/6/8 5:32:41  epeter  程序员俱乐部  我要评论(0)
  • 摘要:有三种方法可以删除DataTable中的DataRow:Delete方法和Remove方法和RemoveAt方法其区别是:Delete方法实际上不是从DataTable中删除掉一行,而是将其标志为删除,仅仅是做个记号,Remove方法则是真正的从DataRow中删除一行,RemoveAt方法是根据行的索引来删除。Delete的使用是:Datatable.Rows[i].Delete();注意:Delete()之后需要datatable.AccepteChanges()方法确认完全删除
  • 标签:C# 用法 区别

三种方法可以删除 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--,例如:

class="brush:csharp;gutter:true;">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);
}

 

发表评论
用户名: 匿名