C# 内存指针的操作

 

今天遇到一个问题,就是内存里面有一List<T>集合,而且这个集合去绑定DataGridView,原来我想改变DataGridView 里面某个单元格里面的数据,而遇到重复就替换它们的

值。我用了一个简单的方法,加了一个中间变量,想借这个变量把它们替换一个,可是当我在用List<T> 里面Find 方法查找指定的对象时,才发现原来在我操作DataGridView

里面的数据时,内存里面List 里面的数据也改变了。想了一会,才发现,原来我一开始绑定DataGridView 时就直接绑定内在里面的,而内存里面的操作只是指针指向了那个集

合,并没有给DataGridView 数据开劈新的空间。 于是我在绑定的时候,循环这个集合,将这个集合重新Clone 一下。再绑定这个Clone  出来的集合,再操作,一切OK。问题

解决了。

你可能感兴趣的:(list,C#)