SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

VB.NET 編1 - 言語仕様変更点、変数タイプ、関数構造、廃止された言語要素

VB.NET は、言語仕様が大幅に変わってしまった気がする。
まずは、変更点を確認した。

■言語仕様変更点

  ・オブジェクト指向プログラミング関係は、かなり強化されたようである。
    個人的にはあまり使用していなかったので互換性を気にする必要はなさそう。
    ただ、cls 機能も変更になっているので、これは問題が出るかもしれない。

  ・例外処理に try...catch...finally が追加されている。
    C や JAVA なんかもこれだから統一感があって良いかも。
    マルチスレッドプログラムも強化された。

  ・プロパティ、メソッドのオーバーライドもサポートされた。
    正直なところ、こんなに複雑な言語要素にして VB の魅力があるのか?
    手軽さが VB の一番の魅力と思うのだが...

■変数タイプ

  ・次のものが追加されている。
    VB6 では variant の中で cdec() でしか使用できなかった 10 進型が
    decimal として使用できるのは実にありがたい。

  char     UNICODE 文字
  short    符号付き 16 ビット整数
  decimal  符号付き 96 ビット整数(10 進演算タイプ)
  object   variant 機能の代わり(変数タイプの省略既定値)

  ・変数タイプが変更になったのか?
    integer が 32bits C と同じになった気がする。
    だから、short が 16 ビットとして追加されたのだな。
    当然、integer が一番高速となる。

  integer  符号付き 32 ビット整数
  long     符号付き 64 ビット整数

  ・C 言語と同じように複数宣言を一度に記述できるようになった。
    VB6 では、i が variant、j が integer になるが、VB.NET では、どちらも
    integer となる。これは楽で良いかも。

  dim i, j as integer

  ・VB.NET では、固定長文字列変数を VBFixedStringAttribute クラス属性を
    使用しないと宣言できない。「dim a as string * 20」は使えない。

■配列変数

  ・添字下限が 0 固定になった。
    これは他の言語仕様も 0 が当たり前だったので、VB でも 0 以外に変更し
    たことがない。よって、私は影響を受けない。

  ・redim での宣言は .NET は不可能になった。redim の前に dim しておく
    必要がある。尚、次元数の変更も redim では不可能になった。

■構造体宣言

  ・type の代わりに structure を使用する。

structure TEST_REC
  private a as string  'プライベート
  public b as integer  'パブリック
  dim c as string      'パブリック
end structure  

■format 書式

  ・format の書式記号や foramt 関数の動きに変更がある。
    特に文字列書式は一切サポートされなくなった。(@、&、<、>、!)

■関数構造

  ・引数の暗黙値が byval の値渡しに変更になった。
    byref でアドレス渡しと同等の機能になるようである。

  ・呼び出すとき sub プロシジャであっても引数に () が必要になった。

  subproc()
  subproc(a, b)

■デフォルトプロパティ値

  ・VB6 では、label1.caption と label1 は等価であったが、VB.NET では
    プロパティの省略は許されなくなった。
    label1 はオブジェクトを示す。

■廃止された言語要素

  as any
  deftype
  gosub
  initialize
  imp
  instancing
  ismissing
  let
  set
  on ...gosub
  on ...goto
  option base
  option private  (module に変更)
  property get
  property let
  property set
  scale
  string()        (string 関数)
  terminate
  type            (structure に変更)
  variant         (object に変更)

■VB 基礎編資料
■VB 入門編資料
■VB ビジュアル編資料
■VB テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK