我有一个场景,我有两个新对象,其中只有一个必须根据条件进行初始化。

但是我使用“using”块语句来初始化一个新对象。

我怎样才能实现它?请引用以下场景。

int a;
string b;

if()//some codition
{
    using(MyClass c1 = new MyClass(a))
    {
            SomeMethod();
    }
}
else
{
    using(MyClass c1 = new MyClass(b)
    {
             SomeMethod();
    }
}

有没有更好的方法可以在单一条件下实现这一点或以任何其他方式来减少代码?因为我在两种情况下都调用了相同的方法。

提前致谢。

问候,
阿尼什

最佳答案

您可以使用条件(三元)运算符。

int a;
string b;

using(MyClass c1 = (some condition) ? new MyClass(a) : new MyClass(b))
{
    SomeMethod();
}

关于c# - 在使用 “using” 块语句时使用 if else 语句的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42527046/

10-16 00:07