Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用筛选器时数据表丢失其值_C#_Datatable - Fatal编程技术网

C# 应用筛选器时数据表丢失其值

C# 应用筛选器时数据表丢失其值,c#,datatable,C#,Datatable,我有一个缓存的数据表。我正在从中创建一个新的数据表,并对其应用过滤器。但是,当我再次访问缓存的数据表时,行会根据过滤器而减少。为什么会这样 var cachedDataTable = GetDataTableFromCache(); var newDataTable = cachedDataTable; var filteredRows = cachedDataTable.Select("[Status Type]='test'"); newDataTable = filteredRows.C

我有一个缓存的数据表。我正在从中创建一个新的数据表,并对其应用过滤器。但是,当我再次访问缓存的数据表时,行会根据过滤器而减少。为什么会这样

var cachedDataTable = GetDataTableFromCache();
var newDataTable = cachedDataTable;
var filteredRows = cachedDataTable.Select("[Status Type]='test'");
newDataTable  = filteredRows.CopyToDataTable();

执行选择时,可能正在覆盖cachedDataTable。对newDataTable执行选择可能会产生不同的结果。

我们可以看到GetDataTableFromCache的代码吗?我试着复制你的代码,但在我这方面似乎效果很好。同时,您可以尝试运行foreach循环并一次导入一行,而不是使用CopyToDataTable

            var newDataTable = cachedDataTable.Clone();
            var filteredRows = cachedDataTable.Select("[Status Type]='test'");
            foreach (DataRow row in filteredRows)
            {
                newDataTable.ImportRow(row);
            } 

是的,但我正在将cacheddatatable分配给新的datatable