Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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#_.net_Idisposable_Using - Fatal编程技术网

C# 如何编写几个使用说明?

C# 如何编写几个使用说明?,c#,.net,idisposable,using,C#,.net,Idisposable,Using,可能重复: 我有几个一次性物品要处理。CA2000规则要求我在退出作用域之前处理所有对象。如果可以使用using子句,我不喜欢使用.Dispose()方法。在我的具体方法中,我应该写下许多用法: using (Person person = new Person()) { using (Adress address = new Address()) { // my code } } 有没有可能用另一种方式写下这句话,比如: using (Person per

可能重复:

我有几个一次性物品要处理。CA2000规则要求我在退出作用域之前处理所有对象。如果可以使用using子句,我不喜欢使用
.Dispose()
方法。在我的具体方法中,我应该写下许多用法:

using (Person person = new Person()) {
    using (Adress address = new Address()) { 
        // my code
    }
}
有没有可能用另一种方式写下这句话,比如:

using (Person person = new Person(); Adress address = new Address())

您所能做的就是:

using (Person person = new Person())
using (Address address = new Address())
{ 
    // my code
}

如果多个对象属于同一类型,则只能在单个using语句中使用它们。您仍然可以使用不带括号的语句进行嵌套

using (Person person = new Person())
using (Address address = new Address())
{

}
下面是一个使用语句的多对象、相同类型的示例:

using (Person p1 = new Person(), p2 = new Person())
{

}

可以使用语句(用逗号分隔)在
中声明两个或多个对象。缺点是它们必须是同一类型

法律:

using (Person joe = new Person(), bob = new Person())
using (Person joe = new Person(), Address home = new Address())
非法:

using (Person joe = new Person(), bob = new Person())
using (Person joe = new Person(), Address home = new Address())
最好是嵌套using语句

using (Person joe = new Person())
using (Address home = new Address())
{
  // snip
}
你可以


但这并不是一个改进。

您想要使用的内容将变得非常混乱……它也是无效的语法。