C#のswitch文での変数のスコープについての質問です。
caseとdefault内で同じ変数名を使用したいのですが、次のように書くとそれぞれエラーになってしまいます。
①
private void method() { switch(hoge) { case "a": case "b": Object[] args = { false, "moge", "" }; break; default: # ローカル変数argsはこのスコープで既に定義されています Object[] args = { "hogehoge", "mogemoge" }; break; } }
②
private void method() { switch(hoge) { case "a": case "b": Object[] args = { false, "moge", "" }; break; default: # ,は無効です # {}は無効です # ;が必要です # breakまたはcontinueに対応するループがありません # 割り当て、呼び出し、インクリメント、デクリメント、待機、および新しいオブジェクト式のみがステートメント式として使用できます # 名前argsは現在のコンテクスト内に存在しません args = { "hogehoge", "mogemoge" }; break; } }
このエラーはどう解消すればよいでしょうか。よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/12 14:42