我写了以下内容:
if ( ( ( weight < 160 && ( age <= 27 && age >= 22 ) )
&& ( ( height < 72 ) && ( ( !isASmoker ) && ( isMale ) ) )
&& ( ( isGoodLooking ) && ( isAbleToRelocate) ) ) ) {
我可以减少括号吗?
由于
答案 0 :(得分:3)
正如Turing85's comment中所述,您实际上可以删除除外部括号之外的所有括号
if (weight < 160 && age <= 27 && age >= 22
&& height < 72 && !isASmoker && isMale
&& isGoodLooking && isAbleToRelocate )
这是您可以使用的最小数量的parethesis。最大数量是......好吧,实际上是无限的(有限数,显然,但无限可能)。你可以添加任意多个,只要它在正确的情况下。
答案 1 :(得分:1)
如果您正确理解了java运算符的优先级,那么这可以减少到最小括号:
private async void RecAntiqueFilter_Tapped(object sender, DoubleTappedRoutedEventArgs e)
{
var imageStream = new BitmapImageSource(originalBitmap.AsBitmap());
using (var effect = new FilterEffect(imageStream))
{
var filter = new AntiqueFilter();
effect.Filters = new[] { filter };
// Render the image to a WriteableBitmap.
var renderer = new WriteableBitmapRenderer(effect, originalBitmap);
editedBitmap = await renderer.RenderAsync();
editedBitmap.Invalidate();
}
Image.Source = editedBitmap;
}
有关详情,请参阅this。
编辑: - 实际上,如果您考虑条件是&#39;和&#39;如果第一个为真,操作员检查下一个条件,这可以在逻辑上进一步减少到
if ( ( weight < 160 && ( age <= 27 && age >= 22 ) )
&& ( height < 72 && !isASmoker && isMale )
&& ( isGoodLooking && isAbleToRelocate ) ) {