2011-02-27 154 views
1
public class MyBindingList : BindingList<int> 
     { 
      public MyBindingList() 
      { 
      } 
      private BindingList<int> temp; 
      public void Backup() 
      { 
       int[] arr = new int[this.Count]; 
       this.CopyTo(arr,0); 
       temp = new BindingList<int>(arr); 
      } 
      public void Restore() 
      { 
       this.Items.Clear(); 
       //for(int i=0;i<temp.Count;i++) this.Add(temp[i]); 
      } 
     } 

//for(int i=0;i<temp.Count;i++) this.Add(temp[i]);副本的BindingList到另一个

是如此缓慢的方式来恢复,这样我可以更有效地使用什么恢复()?

回答

1

用你的例子,foreach是最简单和最快捷的方法。

更快的方法是通过复制构造函数。然而,用你的例子,它不会工作。你不能说这个=新...

myList = new BindingList<int>(temp); 

编辑:侧评论,你可以通过删除阵列创建清理备份()并调用:

public void Backup() 
{ 
    this.temp = new BindingList<int>(this); 
} 
+0

是的,我明白,只能用于备份,谢谢。 – ocanal 2011-02-27 19:49:19

相关问题