if 语句有 {} 和 if 语句没有 {} 有什么区别?

我正在练习 Xamarin 表单,我正在做一个简单的练习,当我运行程序时,按钮不起作用。我检查了我的代码,我决定{ }从 if 语句中删除,然后按钮开始工作。我不时注意到这种行为。


为什么会这样?有什么区别?我一直认为每个代码块都必须在一个{}.


谁能帮我解释一下,我可以理解吗?下面是 Xamarin 代码及其 C# 代码。


<?xml version="1.0" encoding="utf-8" ?>

<ContentPage Padding="20" xmlns="http://xamarin.com/schemas/2014/forms"

        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

        xmlns:local="clr-namespace:T_3000_QuotePageXMAL"

        x:Class="T_3000_QuotePageXMAL.MainPage">


<StackLayout>

    <Button Text="Next" Clicked="Button_Clicked"></Button>

    <Label Text="{Binding Source={x:Reference Slider}, Path=Value, 

     StringFormat='Font Size:{0:N0}'}"></Label>

    <Slider x:Name="Slider" Maximum="50" Minimum="16"></Slider>

    <Label x:Name="currentQuote"

           FontSize="{Binding Source={x:Reference Slider},Path=Value}"> 

    </Label>

</StackLayout>


</ContentPage>

现在,后面的 C# 代码:


 public partial class MainPage : ContentPage

 {

    int index = 0;

    public string[] quotes = new string[]

 {

    "Life is like riding a bicycle. To keep your balance, you must 

     keep moving.",

    "You can't blame gravity for falling in love.",

    "Look deep into nature, and then you will understand everything 

     better."

  } ;

  public MainPage()

  {

    InitializeComponent();

    currentQuote.Text = quotes[index];


  }


  private void Button_Clicked(object sender, EventArgs e)

  {

    index++;

    if (index>= quotes.Length)

    {  // when I remove the { } from this block the button works 

        index = 0;

        currentQuote.Text = quotes[index];


    } // but when they are inserted , the button does not work

  }

}


请参阅 if 语句代码块的注释。


BIG阳
浏览 102回答 1
1回答

蝴蝶不菲

如果删除花括号:if (index>= quotes.Length)&nbsp; index = 0;&nbsp; currentQuote.Text = quotes[index];这相当于:// only the first statement is part of the ifif (index>= quotes.Length) index = 0;// this statement executes even if the IF statement failscurrentQuote.Text = quotes[index];在 C# 中,大括号{}定义了一个代码块。{}使用inif和语句来防止歧义是一个好主意else,尽管这是一个偏好或风格问题。
打开App,查看更多内容
随时随地看视频慕课网APP