クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
リファレンス
言語リファレンス
各言語の比較
 各言語のキーワードの比較
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
Visual Studio
各言語のキーワードの比較

ここでは、言語のキーワードにまとめることができる共通のプログラミング タスクを示します。コード例の必要なタスクの詳細については、「コード例による各言語のプログラミング概念の比較」を参照してください。

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

変数の宣言

Dim ステートメント (Visual Basic)

Public (Visual Basic)

Friend (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

Shared (Visual Basic)

Static (Visual Basic) 1

public

protected

private

static

final

volatile

transient

宣言子 (概念であり、キーワードではありません)

declarators (ユーザー定義型と組み込み型を含むキーワード)

var

[暗黙の宣言]

PUBLIC

LOCAL

PRIVATE

名前付き定数の宣言

Const

final

const

const

readonly

const

#DEFINE

クラスの新規インスタンスの作成

New

new

new

gcnew

new

new

NEWOBJECT( ) 関数

新規オブジェクトの作成

CreateObject |

new

CoCreateInstance() (COM オブジェクトの場合)

new 

new ActiveXObject()

CREATEOBJECT( ) 関数

オブジェクト変数へのオブジェクト割り当て

=

=

=

=

=

=

STORE

関数またはメソッド (値を返さない)

Sub 2

void

void

void

void

Void (COM サーバーのみ)

関数またはメソッドのオーバーロード (Visual Basic : プロシージャまたはメソッドのオーバーロード)

Overloads

(言語のキーワードは必要ありません。)

(言語のキーワードは必要ありません。)

(言語のキーワードは必要ありません。)

(言語のキーワードは必要ありません。)

(言語のキーワードは必要ありません。)

現在のオブジェクトへの参照

Me 3

this

this

this

this

this

thisform

現在のオブジェクトにおける仮想メソッドの非仮想呼び出し

MyClass

適用なし

MyClass::Func1()、ここで MyClass はメンバ関数 Func1 を持つ C++ クラス

適用なし

適用なし

適用なし

文字列からの文字の取得

str(10)、ここで str は文字列

文字列型

str[10]、ここで str は文字列

string

*(p + 10) または p[10]、ここで p は char* または wchar_t*

str[10]、ここで str は文字列

string

str[10]、ここで strstring

charAt

substring

substr

SUBSTR( )

複合データ型の宣言 (構造体)

Structure

class, interface

class

struct

union

__interface

struct

class

interface

class, interface

適用なし

オブジェクトの初期化 (コンストラクタ)

Sub New() 5

コンストラクタ (キーワードではなく概念)

コンストラクタ (キーワードではなく概念)

コンストラクタ、またはシステム既定のタイプのコンストラクタ

クラス コンストラクタ

コンストラクタ (キーワードではなく概念)6

Init イベント

オブジェクトの直接終了

適用なし

適用なし

~ ClassName

適用なし

適用なし

適用なし

ガベージ コレクションがオブジェクトをクリアする直前の、システムによるメソッドの呼び出し 7

Finalize (Visual Basic 6.0 では、Class_Terminate)

finally

destructor

デストラクタ

適用なし

Destroy イベント

変数の宣言時の初期化

Dim x As Long = 5

Dim c As New Car(FuelTypeEnum.Gas)

int x = 5;

//またはコンストラクタで初期化

C c(10);

int x=5;

// 値の初期化 :

int x = 123;

// または既定のコンストラクタ :

int x = new int();

var x = 5

var y : car = new car()

LOCAL x

x = 5

関数のアドレスの取得

AddressOf (この演算子はデリゲート インスタンスとして関数への参照を返します)

delegate

multicast

/** @delgate */

delegate

delegate

かっこなしで関数名を使用

適用なし

コールバック

呼び出し元をコールバックする関数に、関数のアドレスを渡します。例については、「方法 : Visual Basic でプロシージャを別のプロシージャに渡す」を参照してください。

呼び出し元をコールバックする関数に、関数のアドレスを渡します。例については、「コールバック関数の実装」を参照してください。

CALLBACK (標準データ型)

callback (IDL 属性)

delegate

適用なし

適用なし

オブジェクトが非同期で修正できることの宣言

適用なし

volatile

volatile

volatile

適用なし

適用なし

変数の明示的な宣言の強制

[Option Explicit]

n/a (すべての変数は使用前に宣言する必要あり)

n/a (すべての変数は使用前に宣言する必要あり)

n/a (すべての変数は使用前に宣言する必要あり)

高速モード (既定値)

_VFP.LanguageOptions NEW 

オブジェクトを参照していないオブジェクト変数のテスト

obj Is Nothing

pObj == null

pobj == NULL

obj == null

obj == undefined

obj == null

VARTYPE(obj)=="0"

オブジェクトを参照していないオブジェクト変数の値

Nothing

null

nullptr

null

null

undefined

.F.

データベースの Null 式のテスト

IsDbNull

System.Data.SqlTypes 名前空間に含まれるさまざまなデータ型によってサポートされます。

適用なし

適用なし

x == null

ISNULL( )

バリアント変数が初期化されたかどうかのテスト

適用なし

適用なし

適用なし

適用なし

x == undefined

EMPTY( )

既定のプロパティの定義

Default

適用なし

property

インデクサ

適用なし

適用なし

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

基本クラスの参照

MyBase

super

__super

base

super

BaseClass プロパティ

ParentClass プロパティ

DODEFAULT()

Class::member

インターフェイスの宣言

Interface

interface

__interface

interface class

interface

interface

DEFINE CLASS

実装されるインターフェイスの指定

Implements (ステートメント)

implements (クラス宣言における句)

(インターフェイスより派生)

class C1 : public I1

class C1 : I1

インターフェイス

IMPLEMENTS

IMPLEMENTS NEW 

クラスの宣言

クラス

class

class

Classes and Structs (Managed)

class

class

DEFINE CLASS MyClass AS <ParentClass>

モジュールの宣言

Module ステートメント

適用なし

static class

static class

適用なし

適用なし

クラスまたは構造体の部分定義

Partial (Visual Basic)

適用なし

適用なし

Partial

適用なし

適用なし

クラスが継承だけできることの指定。クラスのインスタンスは作成できない。

MustInherit

abstract

abstract (C++)

abstract

abstract

適用なし

クラスが継承できないことの指定

NotInheritable

final

sealed

sealed

final

適用なし

列挙型の宣言

Enum <members> End Enum

適用なし

enum

enum

enum

適用なし

クラス定数の宣言

Const

static final (フィールド宣言に適用)

const

const (フィールド宣言に適用)

const

#DEFINE

基本クラスからのクラスの派生

Inherits C2

class C1 extends C2

Class C1 : public Base (言語のキーワードは必要ありません。)

class C1 : C2

class

Class c1 extends c2

DEFINE CLASS MyClass AS ParentClass

メソッドやプロパティのオーバーライド

Overrides

(言語のキーワードは必要ありません。)

(/clr コンパイルの override を除き、言語のキーワードは必要ありません。Derived Classes を参照してください。)

override

(言語のキーワードは必要ありません。)

(言語のキーワードは必要ありません。)

派生クラスに実装しなければならないメソッドの宣言

MustOverride

abstract

宣言の最後に = 0 を置く (純粋仮想メソッド)

abstract

abstract

(言語のキーワードは必要ありません。)

オーバーライドできないメソッドの宣言

NotOverridable (メソッドは既定で NotOverridable)

final

sealed

sealed

final

適用なし

仮想メソッド/プロパティ、またはプロパティ アクセサの宣言

Overridable

(メソッドは既定で仮想)

virtual

virtual

(メソッドは既定で仮想)

適用なし

派生クラスにおける基本クラスのメンバの隠ぺい

シャドウ

適用なし

new (new slot in vtable)

new (C# リファレンス)

new 修飾子

適用なし

クラス メソッドへのタイプセーフな参照の宣言

Delegate

delegate

multicast

/** @delgate */

delegate

delegate

かっこなしで関数名を使用

適用なし

処理するイベントを持つオブジェクトを含むことができる変数の指定

WithEvents

適用なし

適用なし

(コードを記述。固有のキーワードはなし)

(コードを記述。固有のキーワードはなし)

EVENTHANDLER( ) NEW 

イベント プロシージャが呼び出されるイベントの指定

Handles (名前付けパターンにより、WithEvents 変数とイベントのプロシージャを関連付けることもできます。)

適用なし

適用なし

event += eventHandler;

適用なし

BINDEVENTS( )

複数メンバがアクセスするためのオブジェクト式の評価

With objExpr <.member><.member> End With

適用なし

適用なし

using ステートメント (C# リファレンス)

with

WITH ... ENDWITH

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

構造化例外処理

Try <試行する処理>

Catch

<エラー処理>

Finally

<常に実行>

End Try

Throw

try

catch

finally

throw

__try、__except

__finally

try、catch、finally

throw

try

catch

finally

throw

TRY

   [ tryCommands ]

[ CATCH [ To VarName ] [ WHEN IExpression ] ]

   [ catchCommands ] ]

[ THROW [ eUserExpression ] ]

[ EXIT ]

[ FINALLY

   [ finallyCommands ] ]

ENDTRY

C++ 例外処理

適用なし

適用なし

try、catch、throw

適用なし

適用なし

適用なし

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

条件判断構造
(選択)

Select Case ...、Case、Case Else、End Select

switch

case

break

default

switch、case、default

goto

break

switch

case

default

goto

break

switch

case

break

CASE

ICASE

条件判断構造 (if ... then)

If ...Then、ElseIf ...Then、Else、End If

if

else

if、else

if、else

if

else

IF ... ENDIF

IIF( )

ループ構造 (条件)

While、Do [While、Until] ...、Loop [While、Until]

do

while

continue

do、while

continue

do

while

continue

do、while

break、continue

DOWHILE (句)

ループ構造 (反復処理)

For ...、[Exit For]、Next

For Each ...、[Exit For]、Next

for

break

for

for

foreach

for (x=0;x<10;x++){...}

for (prop in obj) { print (obj[prop]);}

FOR (句)

FOR ... ENDFOR

Continue

NEXT

FOR EACH (句)、FOR ... ENDFORContinueNext

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

配列の宣言

Dim a() As Long

int[] x = new int[5];

int x[5];

int[] x = new int[5];

var x : int[]

var arr = Array()

DIMENSION

DECLARE

配列の初期化

Dim a() As Long = {3, 4, 5}

int[] x = {1,2,3,4,5};

int x[5]= {1,2,3,4,5};

int[] x = new int[5] {1, 2, 3, 4, 5};

var x : int[] = [1, 2, 3, 4, 5]

var arr = new Array(1, 2, 3, 4, 5)]

x[1] = 1

x[2] = 2

配列の再割り当て

Redim

適用なし

適用なし

適用なし

arr.length=newSize(JScript の配列のみ)10

DIMENSION

DECLARE

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

プロジェクトやアセンブリの外部からの参照

Public

public

public

public

public

適用なし

アセンブリの外部またはパッケージの内部からの非参照

Friend

(スコープ キーワードを省略することで "パッケージ スコープ" を指定)

private

internal

internal

適用なし

現在のクラスまたは派生クラスでのみ参照

Protected (Visual Basic)

適用なし

適用なし

Protected

適用なし

適用なし

現在のアセンブリ、またはコンテナ クラスから派生した型に制限されるアクセス

Protected Friend

適用なし

Type and Member Visibility

protected internal

アクセシビリティ レベル

適用なし

適用なし

プロジェクト内部だけで参照 (入れ子になった外側のクラス内のクラス)

Private

private

private

private

private

適用なし

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

クラス、プロジェクト、およびモジュールの外部からアクセス可能

Public

public

public

public

public

(言語のキーワードは必要ありません。)

クラスの外部 (ただし、プロジェクトまたはパッケージ内) からアクセス可能

Friend

(スコープ キーワードを省略することで "パッケージ スコープ" を指定)

public private:

internal

internal

適用なし

現在のクラスおよび派生クラスからのみアクセス可能

Protected

protected

protected

protected

protected

PROTECTED

クラスまたはモジュール内でのみアクセス可能

Private

private

private

private

private

HIDDEN

関数またはほかのクラスが派生クラスのプライベート メンバへアクセスできることの指定

適用なし

適用なし

friend (C++ では使用できません)

friend

適用なし

適用なし

アセンブリ内部ではプロテクト、ほかのアセンブリにはプライベート

適用なし

適用なし

protected private

適用なし

適用なし

適用なし

現在のアセンブリ、またはコンテナ クラスから派生した型のみアクセス可能

Protected Friend

適用なし

Type and Member Visibility

protected internal

アクセシビリティ レベル

適用なし

適用なし

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

プロシージャのローカル変数として予約

Static 11

static

static

static (C# リファレンス)

適用なし

適用なし

クラスの全インスタンスで共有

Shared

static

static

static

static

適用なし

目的 Visual Basic Visual J# C++ C# JScript Visual FoxPro

コメント コード

'

Rem

//

/**

*/

/*

*/

//、複数行にわたるコメントの場合は /* */

//、複数行にわたるコメントの場合は /* */

XML コメントの場合は ///

//、複数行にわたるコメントの場合は /* */

*

&&

NOTE

大文字と小文字の区別

×

×

Windows API の呼び出し

Declare <API>

J/Direct またはプラットフォーム呼出しを使用

適用なし

use Platform Invoke

適用なし

DECLARE - DLL

イベントの宣言と発生

Event

RaiseEvent

java.awt.Event クラスを使用します。

/** @event */

適用なし

event

適用なし

RAISEEVENT( ) 関数

プリミティブのスレッド処理

SyncLock

synchronized

適用なし

lock

適用なし

適用なし

Go to (分岐)

Goto

適用なし

goto

goto

適用なし

適用なし

1 Visual Basic では、Static を変数の宣言として使用できるのは、プロシージャ内部だけです。たとえば、Static x As Long をプロシージャの外部で宣言することはできません。

2 Visual Basic では、Sub キーワードで宣言されたプロシージャは値を返すことができません。プロシージャが値を返すようにするには、Function キーワードで宣言する必要があります。

3 Visual Basic では、Me はコンパイル時に解決されないため、プロパティやメソッドの戻り値として使用できます。

4 JScript では、substr 関数はサポートされていますが、文字列内の文字にアクセスする方法としては、現在は推奨されていません。文字列の特定の位置から文字にアクセスする最も効率的な方法は、角かっこを使うことです。たとえば、文字列 str の 10 番目の文字にアクセスするには、str[10] を使用します。

5 Visual Basic では、.NET Framework System.Object から派生するクラスのコンストラクタは、常に New という名前になります。

6 JScript では、コンストラクタのオーバーロードは使用できません。

7 通常、このようなメソッドのコードは、ガベージ コレクタによって自動的に解放されないシステム リソースを解放します。

8 C++ では、抽象クラスに 1 つ以上の純粋な仮想メンバを含めます。

9 JScript では、Visual Basic と異なり、先行するピリオドは使用されません。変数とプロパティは互いに間違えられることがあるので、この機能は混乱を招きやすいと考えられます。また、with ステートメントを使うとコードの実行速度が低下することにも注意してください。

10 JScript では、これによって配列が再配置されることも、"増加" することもありません。JScript の配列 (Array 型として宣言) は、常に疎であり、また動的です。ネイティブ配列 (System.Array または type[] として宣言) は動的ではありません。

11 非共有のクラス メソッドにおける静的なローカル変数は、Visual Basic ではクラス インスタンスごとに格納され、その他の言語では単一のコピーを共有します。Static を変数の宣言に使用したとき、変数が解放されてから再度スコープを入手しても、その変数の値は予約されています。

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Usingステートメント      おぎわら   |   編集   |   履歴の表示

複数メンバがアクセスするためのオブジェクト式の評価

VB:  With objExpr <.member><.member> End With
C#: using ステートメント

となっていますが、意味合いが違う気がします。

なお、C#の using ステートメント (C# リファレンス) に対応している、VBのキーワードは、Using ステートメント (Visual Basic)です。
http://msdn.microsoft.com/ja-jp/library/htd05whh(VS.80).aspx

フラグの設定 ContentBug
Processing
© 2010 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker