好吧,这个标题很糟糕,请随时提出更好的建议,我只是不知道该怎么称呼它。
假设我有一个对象a
,我想给它赋值,检查这个值是否满足某个条件,如果条件满足就做一些事情。这是执行此操作的一种方法:
int a = 1234;
if (a > 1)
{
someFunction(a);
}
但是如果我不需要a
在这个测试之外呢?如果我尝试这样做,if(int a = 1234 > 1)
那么我会得到a = 1
,因为它首先解决了右手边,如果我将定义放在括号中,我会得到:
if ((int a = 1234) > 1) // about 3 different errors
{
someFunction(a);
}
显然这不是一个交易破坏者,但由于您可以在for
循环内声明对象,我认为可能有可能实现与if
条件类似的东西?