連載改訂版 C#入門第19章 プリプロセッサ |
![]() |
19-8 複数条件を記述するための#elif
条件が増えると、#if‐#else‐#endifだけで記述すると込み入ってしまう場合がある。そういう場合のために#elifが用意されている。これは、#elseの機能と#ifの機能が合体したものである。List 19-8はそれを用いた例である。
|
|
| List 19-8 |
これを実行するとFig.19-10のようになる。
![]() |
| Fig.19-10 |
複数条件で#if‐#else‐#endifを使う場合、#ifを1回記述するごとに、それに対応する#endifを記述しなければならない。つまり、#ifで判定すべき条件が3個あれば、#endifも3個必要になる。しかし、#elifを使えば、上記のように条件が3個でも、#endifは1個だけの記述で済む。
19-9 自作のエラーや警告を発する
込み入ったプログラムを記述していると、C#の文法エラーではないが、プログラムの意図として間違いだとプログラマーに伝えたい場合がある。特に、個人ではなくチームで開発しているケースでは、ほかのプログラマーに間違った使い方をさせないために、これを実現する機能が必要となる。このために、C#のプリプロセッサには、警告を発する#warningと、エラーを発する#errorが用意されている。List 19-9はそれを用いた例である。
|
|
| List 19-9 |
これをビルドするとFig.19-11のようになる。
|
|
| Fig.19-11 |
見てのとおり、警告が1件、エラーが1件出力されているが、この2つは、ソース・コード上で明示的に指定されたものである。警告は、List 19-9の4行目の#warningにより引き起こされたもので、エラーは8行目の#errorで引き起こされたものである。それぞれ、ソース・コード上に記述された文字列がエラー・メッセージ中に出力されていることが分かるだろう。
これらの機能は、主に#ifと同時に使われることになるだろう。いつでもエラーになるソースは常識的には意味がないからだ。指定した条件が適切ではないことを警告またはエラーとして報告するために使用されることが多いだろう。
19-10 IDEで折り畳む
Visual Studio .NETでWindowsアプリケーションのプロジェクトを生成すると、ソース・コードが生成される。その際、一部のソース・コードが、折り畳まれて見えない状態になっていることにお気づきの方も多いと思う。このような、ある範囲のソース・コードをワンクリックで見せたり隠したりする(折り畳む)機能が、IDEには存在するのである。通常は、クラスやメソッドなどの単位で折り畳むことができるのだが、この範囲に該当しない単位で折り畳める場合もある。これは、#regionと#endregionというプリプロセッサの命令を使って実現できるものである。List 19-10はそれを用いた例である。
|
|
| List 19-10 |
このソースをIDEで開いてみよう。Fig.19-12を見てほしい。
![]() |
| Fig.19-12 |
そして、9行目左側の[-]マークをクリックすると、#regionから#endregionまでの範囲が、Fig.19-13のように折り畳まれるのである。
![]() |
| Fig.19-13 |
折り畳まれた段階では、#regionの後に記述した文字列がグレーで表示されていることに注目していただきたい。何が折り畳まれているのか、分かりやすい説明の文章を入れておくとよいだろう。
この機能は、ツールが自動生成したソースなど、見る必要のないソースを隠すために便利である。![]()
『新プログラミング環境 C#がわかる+使える』本記事は、(株)技術評論社が発行する書籍『新プログラミング環境 C#がわかる+使える』から許可を得て一部分を転載したものです。 【本連載と書籍の関係について 】 この書籍は、本フォーラムで連載した「C#入門」を大幅に加筆修正し、発行されたものです。連載時はベータ版のVS.NETをベースとしていましたが、書籍ではVS.NET製品版を使ってプログラムの検証などが実施されています。技術評論社、および著者である川俣晶氏のご好意により、書籍の内容を本フォーラムの連載記事として掲載させていただけることになりました。 →技術評論社の解説ページ ご注文はこちらから |
| INDEX | ||
| 改訂版 C#入門 | ||
| 第19章 プリプロセッサ | ||
| 19-1 プリプロセッサとは何か? | ||
| 19-4 シンボルを解除する | ||
| 19-8 複数条件を記述するための#elif | ||
| 「連載:改訂版 C#入門」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -






