返回数据时使用Statement

5 c# c#-3.0 c#-4.0

我正在使用Memory Managementwhile返回如下数据.

private DataSet ReturnDs()
{
    using (DataSet ds = new DataSet())
    {
        return ds;
    }
}
Run Code Online (Sandbox Code Playgroud)

查询 - 在返回数据时放置"使用"语句是否有任何问题?我仍在获取完整的架构以及接收函数中的数据?

Hen*_*man 4

这绝对是一个错误的模式。它现在对你有用的唯一原因是它DataSet.Dispose()实际上是一个假人。

using (DataSet ds = new DataSet())
{
    return ds;
}  // there is a ds.Dispose() here but it does nothing.
Run Code Online (Sandbox Code Playgroud)

如果您将 DataSet 替换为实体框架 DbContext,那么您将在调用函数中看不到任何数据。