使用带有多个变量的语句

时间:2012-02-22 13:47:10

标签: c# using-statement

通过以某种方式在同一个使用块中声明2变量,是否可以使这个代码更紧凑?

using (var sr = new StringReader(content))
{
    using (var xtr = new XmlTextReader(sr))
    {
        obj = XmlSerializer.Deserialize(xtr) as TModel;
    }
}

2 个答案:

答案 0 :(得分:509)

接受的方式只是将陈述链接起来:

using (var sr = new StringReader(content))
using (var xtr = new XmlTextReader(sr))
{
    obj = XmlSerializer.Deserialize(xtr) as TModel;
}

请注意,IDE也会支持此缩进,即它有意不会尝试缩进第二个using语句。

答案 1 :(得分:112)

以下仅适用于相同类型的实例!感谢您的评论。

此示例代码来自MSDN

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