これらは完全にオプションであり、副作用はまったくありません。あなたの例では、コントロールに属しているプロパティの割り当てを意図してコードを読みやすくする目的で使用されています。あなたは括弧なしでもそれを行うことができます。しかし、ツールを使用してコードを再フォーマットすると、インデントが消えてしまう可能性があります。
あなたがメソッドを持っていて、そこに{}置く場合は、新しい変数のスコープを作成することができます
void someMethod() {
{
int x = 1;
}
// no x defined here
{
// no x here, so we may define a new one
string x = "Hello";
}
}
をあなたはどこでもあなたが文を開始することができます方法で新しいスコープを開始することができます(変数宣言、メソッド呼び出し、ループなど)
注:if文の場合は、その中括弧で新しい変数スコープも作成します。
void someMethod() {
if (someThing) {
int x = 1;
}
// no x defined here
if (somethingElse) {
// no x here, so we may define a new one
string x = "Hello";
}
}
try、catchなどについても同じことが言えます。それについて考えると、メソッド本体の中括弧もそのように動作します:クラススコープの上に「レイヤー」という新しいスコープを作成します。
私が知っている限り、{}を残した場合と同じです。 menu.addは1つのコマンド、menu.setIconは次のmenu.setShowAsActionです。中括弧を使用してコードブロックを宣言することができます。 – damian
匿名コードブロックであることが分かっている場合は、その複製*のみ* – Raedwald