Win Win Windowsコラム
第19回: Visual Studio .NET登場から10年
執筆:大貫淳子
新年あけましておめでとうございます。本年もよろしくお願いします。
今年も、昨年に引き続き「クラウド」がIT分野の大きなテーマになりそうです。クラウド時代では、システム管理者の仕事が減り、システム開発者の仕事が増えると言われています。この機会に、プログラミングの勉強を始めてみてはどうでしょう。
マイクロソフトが提供しているアプリケーション実行環境が「Microsoft .NET Framework」、通称「.NET(ドットネット)」です。そして、NETの標準開発環境として2002年に登場したのがMicrosoft Visual Studio 6.0から大きく進化したMicrosoft Visual Studio .NETです(現在の最新版は「Visual Studio 2010」)。
10年ひと昔と言いますが、Visual Studioはこの10年に5回のバージョンアップを重ね、よりリッチで、さらに使いやすい開発用アプリケーションに洗練されています。一方で、基本的な操作そのものには大きな変化はありません。言い換えれば、それだけ完成度が高いとも言えます。
Visual Studioの人気は高く、非マイクロソフト系言語を使う人からも「あれが○○言語でも使えればいいのに」という話もよく聞きます。Visual Studioは複数の言語に対応していますが、Javaを含め対応していない言語も多くあります。
Visual Studioで使える代表的な言語に "Visual Basic" と "C#" があります。Visual Basicは.NET以前から存在する歴史のある言語です。WindowsベースのGUI画面のあるアプリケーションの作成に、非常に効力を発揮します。C#は、.NETとともに登場したので.NET Framework による開発を最も効率よく行える言語と言えます。
今回は、それぞれの言語で採用された新機能をいくつか紹介します。
まずはVisual Basicからです。
● 複数行の最後の _ (アンダースコア)が不要
Visual Basicユーザーからすると、かなり驚きの仕様変更ではないかと思います。少なくても私はそうです。
Visual Basicは行単位で処理を行っていくので、行のつながりを示す " _ " というキーワードが必須となっていたのですが、_ がなくても複数行の処理を記述できるようになりました(一部条件あり)。「暗黙の行連結」あるいは暗黙の行継続と呼びます。
以前のコード
txtFullName.Text = "姓:" + txtLastName.Text + _
"名:" + txtFirstName.Text
最新版
txtFullName.Text = "姓:" + txtLastName.Text +
"名:" + txtFirstName.Text
● プロパティ プロシージャの自動化
こちらは、C#ではすでに取り入れられていた機能で「自動実装プロパティ」と呼びます。
詳しいコードは記述しませんが、コーディングの際にアクセサーブロックを記述する必要がなくなりすっきりとします。
つづいてC# です。
● 名前付き引数と省略可能引数
メソッド(処理のかたまり)の呼び出しの際に、引数として情報を渡しますが、引数の順番や数の指定が、より柔軟になりました。ちなみに、Visual Basicでは、.NET以前から採用されていた機能です。
例えば、4つの数字を受け取り加算するメソッドがあるとします。
public int AddArg(int arg1, int arg2, int arg3 = 0, int arg4 =0 )
{
return arg1 + arg2 + arg3 + arg4;
}
呼び出しの際、以前のバージョンでは引数はメソッドの定義と同じく4つ
AddArg(10, 20, 0, 0);
でなければいけませんでしたが、最後2つの引数は指定がない場合に0が代入されますので、
AddArg(10,20);
と必須の2つだけの指定でもOKになりました。
また、引数を渡す順番を変えることもできます。この時は名前付き引数を指定します。
AddArg(arg2:10,arg3:20,arg1:0);
「Visual BasicとC#、どちらをつかったらよいか?」という質問を耳にすることがあります。
弊社大阪支店では、何度かこのタイトルのセミナーも開催されました。そのぐらい、比較対象としてよく挙げられる言語ですが、バージョンアップを重ね、それぞれの仕様の良いところを取り入れ、切磋琢磨しているように感じます。
Visual Basic、C# の最新のコースはこちらです
なお、「Visual Studio Express」は無償で提供されています。Expressではグループでアプリケーション開発をする機能が削除されていますが、基本的な開発機能はすべて備わっています。これからWindowsアプリケーションの開発を検討されている方はぜひ試してみてください。
[.NET Framework][2012年1月10日配信]


.NET Framework






