Skip to main content
評価してください: 

連載! とことん Visual Basic

プログラミング言語の奥深さを楽しく理解するための達人による連載記事です。
毎週新しい記事を掲載しています。


執筆者: エディフィストラーニング株式会社 矢嶋 聡

この記事は、「MSDN プログラミング シリーズ」として発行している技術書籍「ステップアップ Visual Basic 2010 ~開発者がもう一歩上達するための必読アドバイス」(日経 BP 社刊) を基に先進的なテクニックを紹介しています。

Code Recipe - 連載! とことん VB | MSDN

第 1 回 Visual Basic 6.0 から VB.NET で変わったものは?
この一連のシリーズの記事では、今後、Visual Basic (VB.NET) を有効活用するために、普段見落としがちな機能やキーワード、あまり理解されずに使用されている機能、また、比較的新しい機能 (ジェネリックや LINQ) などについて、改めて取り上げ解説していきます。
1/29 金曜日
第 2 回 VB.NET における Variant 型の代替案
今回は、Variant 型について、Variant 型の用途を改めて見極め、Variant 型が無くなったことで不都合はないのか、.NET での代替はあるのかなどをいくつか例示をおこなって確認していきます。
1/29 金曜日
第 3 回 型の推論 ~ Variant 型と Dim の違い
.NET 版の Visual Basic でも As 句を省略することができます。しかし、その扱いは VB 6.0 とは異なりますので注意してください。特定の状況下で As 句を省略すると、「型の推論」と呼ばれる機能が作用します。
1/29 金曜日
第 4 回 ここに、注意 ! 数値を扱う型 (Single 型と Decimal 型)
「丸め誤差」が何であるかを把握することによって、浮動小数点がなぜ財務計算に向いていないのかを確認してみます。
1/29 金曜日
第 5 回 4 バイト長の文字 (サロゲート ペア) の文字列操作の方法 ~ホッケが仲間はずれの理由~
.NET Framework の文字列は Unicode の「UTF-16」と呼ばれる符号化方式を採用しているので、1 文字が 4 バイトの場合もあるのです。ここでは、このような 2 バイトではない文字が存在することや、これによるプログラムへの影響を確認し、さらにプログラムを文字単位で正しく動作させる方法を取り上げます。
2/5 金曜日
第 6 回 様々な変数宣言 ~バージョンアップに伴う変化~
Visual Basic 6.0 (.NET でない Visual Basic) から Visual Basic .NET に遷移する過程で、変数宣言に関しても変更されたものがあるほか、VB.NET 2002 以降もバージョン アップによって、追加や改訂された部分があります。
2/8 月曜日
第 7 回 「参照渡し」という用語の誤解
メソッドへ引数を渡す方法に関して、特に注意すべき点を取り上げます。
2/12 金曜日
第 8 回 For Each ... Next ループ対応のコレクション ~ IEnumerable と 3 種類の実装パターン~
要素の集合、つまり「コレクション」に対して、その要素に 1 つずつ何らかの操作を行う典型的な方法に、For Each ... Next 文を使用するループ処理 (反復処理) があります。
2/15 月曜日
第 9 回 拡張メソッド ~定義とその利用例~
Visual Basic 2008 から導入された新しい仕組みの 1 つに「拡張メソッド」があります。「拡張メソッド」は、既存のオブジェクトにメソッドとして機能を追加する新しい仕組みです。その基本的な定義方法のほか、具体的な利用事例を元にその用途について解説します。
2/19 金曜日
第 10 回 構造化例外処理の Finally ブロックの役割
データベース接続の失敗やファイルの書き込みの失敗など、プログラム実行中にエラー (例外) が発生した場合、.NET 対応の Visual Basic では構造化例外処理と呼ばれる構文を使用して、例外に対処するコードを記述することができます。
2/22 月曜日
第 11 回 Using ブロックの処理の流れと用途
C# にあって Visual Basic にない「うらやましい」機能の 1 つとして、Using ブロックがありました。Visual Basic 2005 では、この Using 文が新しい構文の 1 つとして追加されました。
2/26 金曜日
第 12 回 コレクション初期化の簡潔な表現 ~新しいコレクション初期化子~
.NET 版の Visual Basic では、それまでの Visual Basic 6.0 とは異なり、例 1 のように変数宣言の構文に、初期値を代入する式が書けるようになりました。
3/1 月曜日
第 13 回 自動実装プロパティの役割と、そこから読み取れるプロパティの用途
Visual Basic 10.0 (Visual Basic 2010) には、「自動実装プロパティ」(Auto-Implemented Property) と呼ばれる、プロパティの新しい簡易表記が導入されました。これを利用すれば、例 1 の①のようにプロパティ定義を簡潔に表現できます。
3/5 金曜日
第 14 回 Visual Basic 固有の「モジュール」(Module) の役割
いったい「モジュール」は何のためにあるのでしょうか。また、「モジュール」としてソフトウェア部品を作成した場合、C# などの他の言語から「モジュール」を使用できるのでしょか。今回は、これらの点も含め、改めて「モジュール」の役割を考えてみます。
3/12 金曜日
第 15 回 インターフェイスの使いどころ
「インターフェイス」は Visual Basic にとって無くてはならない要素であり、Visual Basic を活用するうえで重要なものの 1 つであると言えるのではないでしょうか。今回は、改めて「インターフェイス」の活用方法について確認してみましょう。
3/19 金曜日
第 16 回 クラス継承は親子関係か?
Visual Basic などのオブジェクト指向プログラミング言語では、既存のプログラムの再利用性を高める重要な仕組みとして「クラス継承」があります。
3/26 金曜日
第 17 回 クラスの多重継承とその代替案
今回は、「多重継承」とは何か改めて見直し、.NET Framework における「多重継承」の代替手段を確認していきます。
4/2 金曜日
第 18 回 ジェネリック (Generic) の基本と制約
Visual Basic 2005 の時点で導入された「ジェネリック」は、それ自身が単独で用いられることもありますが、いまや他の構文やテクノロジーと関連して多数使用されています。
4/9 金曜日
第 19 回 ジェネリック インターフェイスとジェネリック メソッド
今回は「ジェネリック インターフェイス」と「ジェネリック メソッド」について、特徴や留意点などを取り上げます。
4/16 金曜日
第 20 回 デリゲート (Delegate) の基本とジェネリック デリゲート
「デリゲート」(Delegate) とは、あるオブジェクトから別のオブジェクトのメソッドを呼び出す際などに利用される .NET Framework の仕組みの 1 つです。
4/23 金曜日
第 21 回 ラムダ式の基本とその必要性
Visual Basic では、Visual Basic 2008 がリリースされた際に「ラムダ式」が導入され、さらにVisual Basic 2010 には「ラムダ式」の新しい構文が追加されました。この「ラムダ式」は、関数などのプロシージャを簡潔に表現する 1 つの表記方法です。
5/7 金曜日
第 22 回 ラムダ式の新機能と式ツリー
Visual Basic 2010 では新機能として、Sub キーワードで始まるものや複数行の「ラムダ式」も導入されました。今回は、これらの新機能について前半で取り上げます。
5/14 金曜日
第 23 回 LINQ の基本構文と、その背後に潜む LINQ の「からくり」
これまで説明した知識をベースとして、LINQ の構文や関連するライブラリについて解説します。
5/21 金曜日
第 24 回 LINQ における結合/集計などの高度な操作
基本的なクエリ式をより発展させて、結合や集計などのバリエーションについて取り上げます。
5/28 金曜日
第 25 回 LINQ to SQL における照会と更新
今回は、SQL Server の「LINQ プロバイダー」である「LINQ to SQL」を使用し、主にその固有の機能として、どのような操作ができるのか確認していきます。
6/4 金曜日
第 26 回 XML リテラルを用いた LINQ to XML の利用
LINQ を用いて XML を操作する際に使用する「LINQ to XML」について取り上げます。「LINQ to XML」は、メモリ内の XML データを扱うためのプログラミング インターフェイスの 1 種であり、LINQ の観点からいうと「LINQ プロバイダ」の 1 つです。
6/11 金曜日
第 27 回 C# の反復子ブロック (yield return) の代替を Visual Basic で実現 ~クエリ式とラムダ式の応用
C# の「反復子」を Visual Basic へどう置き換えるのかを取り上げ、また、その置き換えサンプル コードを通して、クエリ式やラムダ式に潜む特徴について改めて確認します。ここで取り上げる内容は、単に C# の「反復子」の置き換え手法というだけでなく、様々な状況で、クエリ式やラムダ式をより有効に活用する上での基礎知識として役立つでしょう。
6/18 金曜日
第 28 回 デリゲートの仕組みを使用した様々なイベント送受信の構文
今回は、Windows フォームにおける対話型操作でもよく使用される「イベント」に関して、構文のバリエーションや注意点、また、その背後の仕組みであるデリゲートとの関係について取り上げます。
6/25 金曜日
第 29 回 イベントハンドラーの動的設定とその注意点
今回は、アプリケーションの実行中に、プログラム コードを用いて、イベントハンドラーを動的に設定したり、解除したりする方法と、それらに関するさまざまな注意点を取り上げます。
7/2 金曜日
第 30 回 バックグランド スレッドの実行と注意点
今回も対話操作というテーマのもと、ユーザー インターフェイスにおけるバックグランド処理について取り上げます。
7/9 金曜日
第 31 回 マルチスレッドでの排他制御 ~ Synclock ステートメントの役割と必要性~
今回は、前回に取り上げたマルチスレッドによるバックグランド処理について、特に初心者の方が見落としそうな注意点をいくつか取り上げます。マルチスレッドでの並行処理の注意事項や SyncLock ステートメントの役割などを確認しましょう。
7/16 金曜日
第 32 回 Visual Basic の動的言語ランタイム (DLR) の利用と「遅延バインディング」との違い
ここでは改めて、「動的言語ランタイム」の機能に関して、Visual Basic 2010 では、どのようなことが出来るのか確認していきます。
7/23 金曜日
第 33 回 C# とは異なる、Visual Basic のアプリケーション モデル
「アプリケーション モデル」の基本的な仕組みや特徴を理解しておくと、よりきめ細かいアプリケーション制御を行うことができます。今回は、このアプリケーションモデルの特徴や、Main との関係を確認しましょう。
7/30 金曜日
第 34 回 (最終回) My の正体を見極めてカスタマイズする
「My.~」で使用するオブジェクトには、典型的な実装パターン (ルール) があります。また、Visual Basic の開発環境では、My の既存オブジェクトに対してカスタマイズする方法もあります。今回は、これらの典型的な実装方法を理解するため、「My」に関するカスタマイズ方法をいくつか取り上げます。
8/6 金曜日

執筆者紹介

矢嶋 聡

エディフィストラーニング株式会社
矢嶋 聡
Microsoft MVP (2004 年~ 2010 年 3 月現在)


1986 年からアプリケーション開発に従事し、1993 年に Visual C++ が登場したころから、Windows 向け開発関連のトレーニングを担当。
書籍の執筆や監修ほか、カンファレンスのスピーカーなど、Windows 開発者向け教育を幅広く行っている。


Code Recipe

MSDN 検索術 ~検索テクニックを実例付きで解説!~

実例で学ぶアプリケーション開発

Web ショッピング サイト (Silverlight 4 による実装)

ショッピングサイト (Silverlight 実装)

サンプル アプリケーションを使って、Silverlight 4 による Web ショッピング サイトの実装方法を、各シナリオ毎に解説します。
アプリケーション アーキテクチャ ガイドや、サンプル アプリケーションのプロジェクト ファイル等も、合わせてダウンロードが可能です。

Code Recipe 新着情報を入手するには

Code Recipe に公開される新しいコンテンツの情報を効率よく入手できます。

MSDN ニュースレター

MSDN Flash ニュースレター

Code Recipe の新着情報をはじめ、技術セミナー案内や最新技術情報など、開発者の皆様が気になる情報をまとめてお届けします。

購読はこちらから

公開予定コンテンツを確認する

困った時は

  1. arrow 動画で学ぶ | 解説動画 300 秒でズバリ!!
  2. arrow 技術を学ぶ | MSDN スキルアップ センター
  3. arrow ダウンロード | MSDN ダウンロード センター
  4. arrow 製品、技術を調べる | MSDN ライブラリ
  5. arrow 質問する | MSDN フォーラム

デベロッパーセンター

開発者向けヘッドライン

ページのトップへ