gpt4 book ai didi

c# - 你能在 Using block 中处理多个对象吗?

转载 作者:IT王子 更新时间:2023-10-29 04:18:04 25 4
gpt4 key购买 nike

如何处理 Using 语句中的多个对象?

示例代码

using(MyClass obj = new MyClass())
{
MyOtherClass objOC= new MyOtherClass()
TextReader objTR = new StringReader(...);
// other code
}

MyClass obj 将被放置在 Using block 的末尾,但是接下来呢MyOtherClass objOCTextReader objTR。据我所知,它们不会被处理掉,所以我应该像下面这样嵌套 Using block 吗?如果对象数量增加,我将需要一个真正的宽屏显示器

以下是否正确?

using(MyClass obj = new MyClass())
{
using (MyOtherClass objOC= new MyOtherClass())
{
using (TextReader objTR = new StringReader(...))
{
//code using all three objects
}
}
// other code using just `MyClass obj`
}

MyClass 和 MyOtherClass 都实现了 IDisposable

最佳答案

是的,您的代码是正确的。以下是您可能需要注意的其他几件事...

您可以在单个 using 语句中声明多个相同类型的对象。来自documentation :

using (Font font3 = new Font("Arial", 10.0f), 
font4 = new Font("Arial", 10.0f))
{
// Use font3 and font4.
}

要使用多个不同类型的对象,您可以使用单行语法嵌套以节省空间:

using (MyClass obj = new MyClass())
using (MyOtherClass objOC= new MyOtherClass())
using (TextReader objTR = new StringReader(...))
{
// code using all three objects
}

关于c# - 你能在 Using block 中处理多个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com