代码之家  ›  专栏  ›  技术社区  ›  Saif Khan

在.NET中重新使用数据集

  •  2
  • Saif Khan  · 技术社区  · 16 年前

    在.NET中重用数据集是个好主意吗?我的意思是…我有下面的代码,它循环一个网格视图

    For Each row in GridView
      ds = New DataSet
      ds.ReadXML(GetStream(row.Field))
      ... export the dataset
    Next
    

    我在循环中所做的是创建一个新的数据集实例。我不能先调用ds.clear()然后通过ds.readxml()重用它吗?

    3 回复  |  直到 16 年前
        1
  •  2
  •   to StackOverflow    16 年前

    语义不同: DataSet.Clear 删除所有数据(行),但保留架构(表和关系)。

    在您的示例中,表似乎是从readxml方法(可以读取模式和数据)创建的。

    数据集。清除 只要您确定所有XML文档都有相同的模式,但使用 New 更强大,更好地表达你的意图。

    但是,如果您只读取数据,如下面的示例所示, 数据集清除 可能是一个更好的选择,因为它避免了您重复生成模式。

    ds = New DataSet 
    ... code to create the schema (Tables, Columns, Relations)
    
    For Each row in GridView 
      ds.ReadXML(GetStream(row.Field), XmlReadMode.IgnoreSchema) 
      ... export the dataset 
      ds.Clear
    Next 
    
        2
  •  2
  •   Preet Sangha    16 年前

    您将重用与其他性能考虑因素进行权衡。一般来说,我不会做这样的优化,除非它们变得必要。只有当我有数字证明这是必要的时候。

        3
  •  1
  •   NerdFury    16 年前

    你也许可以这样做,但是对象创建是如此的便宜,而且你没有副作用的风险,没有任何理由不创建新的对象。

    推荐文章