相关疑难解决方法(0)

我什么时候应该在C#中使用"使用"块?

是否存在我应该(或不应该?)使用"使用"块的特定情况:

using(SomeType t = new SomeType()){
    ...
}
Run Code Online (Sandbox Code Playgroud)

.net c# using

70
推荐指数
4
解决办法
8万
查看次数

什么时候C#"使用"语句最有用?

因此,当退出using块时,using语句会自动调用正在"使用"的对象上的dispose方法,对吗?

但这何时有必要/有益?

例如,假设您有这种方法:

public void DoSomething()
{
    using (Font font1 = new Font("Arial", 10.0f))
    {
        // Draw some text here
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有必要在此处使用using语句,因为该对象是在方法中创建的?当方法退出时,不会丢弃Font对象?

或者在方法退出后,Dispose方法是否会在另一个时间运行?

例如,如果方法是这样的:

public void DoSomething()
{
    Font font1 = new Font("Arial", 10.0f);

    // Draw some text here
}

// Is everything disposed or cleared after the method has finished running?
Run Code Online (Sandbox Code Playgroud)

c# using-statement

14
推荐指数
4
解决办法
2001
查看次数

哪个更好,何时:使用语句或在C#中的IDisposable上调用Dispose()?

假设我有以下内容:

using(var ctx = DataContextFactory.Create(0))
{ ... Some code ... }
Run Code Online (Sandbox Code Playgroud)

为什么不做以下操作而失去几个花括号?:

var ctx = DataContextFactory.Create(0);
ctx.Dispose();
Run Code Online (Sandbox Code Playgroud)

感谢您的建议!

.net c# asp.net idisposable using-statement

6
推荐指数
2
解决办法
4690
查看次数

`using`是否处理了在其中声明的所有对象?

我想知道如果using我执行一个returnthrow操作,语句中创建的对象是否被处置.示例如下.

using(SomeClass thing = new SomeClass())
{
  ...
  if(condition)
    return;
  ...
}
Run Code Online (Sandbox Code Playgroud)

上面会混淆或者GC在这里被信任吗?

c#

3
推荐指数
1
解决办法
1250
查看次数

在c#中使用ensure有什么用?

我读了这篇文档,但我仍然感到困惑.

using (Font font1 = new Font("Arial", 10.0f)) 
{
    byte charset = font1.GdiCharSet;
}
Run Code Online (Sandbox Code Playgroud)

在代码中,是否意味着我们引入了一个名为Font类的新实例font1.但是,此实例仅在大括号内存活.在代码中我们可以再次实例化,font1但这将是一个完全不同的实例,因为前一个font1disposed.

它是否正确?那么目的是什么?我们可以重新分配不同的值font1而不处理前一个值?

c# using-statement

-2
推荐指数
1
解决办法
280
查看次数

标签 统计

c# ×5

using-statement ×3

.net ×2

asp.net ×1

idisposable ×1

using ×1