Palavras-chave comparadas em diferentes idiomas

Este tópico lista tarefas comuns de programação que podem ser resumidas com uma palavra-chave de linguagem.Para obter mais informações sobre tarefas que precisam de exemplos de código, consulte Conceitos de programação comparados em diferentes idiomas com exemplos de códigos.

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Declare uma variável

Dim instrução (Visual Basic)

Público (Visual Basic)

Amigo (Visual Basic)

Protegido (Visual Basic)

Private (Visual Basic)

Compartilhamento (Visual Basic)

Static (Visual Basic)1

declarators (conceito, não palavra-chave)

declarators (palavras-chave incluem tipos definidos pelo usuário e tipos internos)

var

[implícita declaração]

PUBLIC

LOCAL

PRIVATE

Declarar uma constante nomeada

Const

Const

Const

readonly

const

#DEFINE

Criar uma nova instância de uma classe

Novo

Novo

gcnew

Novo

new

NEWOBJECT( ) função

Criar um novo objeto

Novo (Visual Basic)

CreateObject() para objetos COM

CoCreateInstance() (para objetos COM)

Novo 

new ActiveXObject()

CREATEOBJECT( ) função

Atribuir um objeto a uma variável de objeto

=

=

=

=

=

STORE

Método/função não retorna um valor

Sub-rotina2

Void

Void

void

Void (Somente COM servidores)

Uma função ou método de sobrecarga (Visual Basic: um procedimento ou método de sobrecarga)

Sobrecargas

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

Fazer referência ao objeto corrente

Me3

Isso

Isso

this

this

thisform

Fazer uma telefonar nonvirtual para um método virtual do objeto corrente

MyClass

MyClass::Func1(), onde MyClass é uma classe C++ com uma função de membro Func1.

n/d

n/d

n/d

Recuperar o caractere de uma seqüência de caracteres

Função GetChar

*(p + 10) ou p[10] onde p é um char * ou wchar_t *

str[10] onde str é uma seqüência de caracteres

seqüência de caracteres4

str[10], onde str é um string

charAt

substring

substr

SUBSTR( )

Declarar um tipo de dados compostos (estrutura)

Estrutura

classe

struct

União

__interface

struct

classe

interface

class, interface

n/d

Inicializar um objeto (construtor)

Sub New()5

construtores (conceito, não palavra-chave)

Construtores ou construtores de tipo de sistema padrão

Construtores de classe

Construtor (conceito, não palavra-chave) 6

Evento Init

terminar um objeto diretamente

n/d

~ClassName

n/d

n/d

n/d

Método chamado pelo sistema pouco antes de coleta de lixo recupera um objeto 7

Finalizar (no Visual Basic 6.0, Class_Terminate)

Destructors (C++) (conceito, não palavra-chave)

Destructors

n/d

Evento Destroy

Inicializar uma variável onde ela é declarada

Dim x As Long = 5

Dim c As New Car(FuelTypeEnum.Gas)

/ / inicializar para um valor:

int x=5;

//with um construtor apropriado:

C c(10);

/ / inicializar para um valor:

int x = 123;

/ / ou usar o construtor padrão:

int x = new int();

var x = 5

var y : car = new car()

LOCAL x

x = 5

Obter o endereço de uma função

AddressOf (Esse operador retorna uma referência a uma função na forma de uma instância delegado)

Delegar

delegado

Use o nome da função sem parênteses

n/d

Retorno de chamada

Passar o endereço de uma função para outro que chama o chamador de volta.Para um exemplo, consulte Como: PASS procedimentos como outro procedimento no Visual Basic.

CALLBACK (um tipo padrão)

callback (Atributo IDL)

delegado

n/d

n/d

Declare um objeto pode ser modificado assincronamente

n/d

volátil

volátil

n/d

n/d

Forçar a declaração explícita de variáveis

Opção Explicit

n/d (todas as variáveis devem ser declaradas antes de usar)

n/d (todas as variáveis devem ser declaradas antes de usar)

modo rápido (em por padrão)

NOVO _VFP.LanguageOptions 

Permitir inferência de tipos de tipos local

Opção Infer

Teste para uma variável de objeto que não faz referência a um objeto

obj É Nothing

pobj == NULL

obj == null

obj == undefined

obj == null

VARTYPE(obj)=="0"

Valor de uma variável de objeto que não faz referência a um objeto

Nada

nullptr

Nulo

null

undefined

.F.

Teste para uma expressão do banco de dados nula

IsDbNull

n/d

n/d

x == null

ISNULL( )

Testar se uma variável Variant foi inicializada

n/d

n/d

n/d

x == undefined

EMPTY( )

Definir uma propriedade padrão

Padrão

property: a property palavra-chave se refere ao código gerenciado

Indexadores

n/d

n/d

Object-Oriented Programming

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Consulte a classe base

MyBase

__super

Base

super

Propriedade BaseClass

Propriedade ParentClass

DODEFAULT()

classe::membro

Declarar uma interface

Interface

__interface

classe interface

interface

interface

DEFINE CLASS

Especificar uma interface a serem implementados

Implementações

(Apenas derivar a partir da interface)

class C1 : public I1

class C1 : I1

Interfaces

IMPLEMENTS

IMPLEMENTS NOVO 

Declarar uma classe

Classe

classe

Classes and Estruturas (Gerenciado)

classe

class

DEFINE CLASSMyClassAS <ParentClass>

Declarar um módulo

Module

static class

static class

n/d

n/d

Declarar uma definição parcial de uma classe ou estrutura

Parcial

n/d

Parcial

n/d

n/d

Especifica uma classe só pode ser herdada.Não é possível criar uma instância da classe

MustInherit

abstrato (Visual C++)8

abstrata

abstract

n/d

Especificar que uma classe não pode ser herdada

NotInheritable

autenticada

autenticada

final

n/d

Declarar um tipo enumerado

Enum

Enum

Enum

Enum

n/d

Declarar uma constante de classe

Const

Const

Const (Aplicadas a uma declaração de campo)

Const

#DEFINE

Derivar uma classe de uma classe base

Classe C1 Inherits C2

Class C1 : public Base (Nenhum linguagem palavra-chave necessários para essa finalidade)

class C1 : C2

classe

Estende a classe c1 c2

DEFINE CLASS MyClass AS ParentClass

Substituir um método ou propriedade

Substitui

(Nenhuma palavra-linguagem chave necessário para essa finalidade, exceto override para /clr compilações — consulte Classes derivadas)

override

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

Declara um método que deve ser implementado em uma classe deriving

MustOverride

Put = 0 no participante da declaração do (método virtual puro)

abstrata

abstract

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

Declara um método não pode ser substituído

NotOverridable (Os métodos são NotOverridable Por padrão.)

autenticada

autenticada

final

n/d

Declara um acessador de propriedade de método ou propriedade virtual

Overridable

virtual

virtual

(Os métodos são virtual por padrão)

n/d

Ocultar um membro da classe base em uma classe derivada

Sombreamento

Novo (Novo slot in vtable)

(referência C#) novo

Modificador novo

n/d

Declarar uma referência typesafe para um método de classe

Delegado

Delegar

delegado

Use o nome da função sem parênteses

n/d

Especificar que uma variável pode conter um objeto cujos eventos deseja tratar

WithEvents

n/d

(Não escreva o código - nenhuma palavra-chave específica)

(Não escreva o código - nenhuma palavra-chave específica)

EVENTHANDLER( )  NOVO 

Especifique os eventos para o qual um procedimento de evento será chamado

Alças (Procedimentos de evento podem ainda ser associados com um WithEvents variável pelo padrão de nomenclatura)

n/d

evento += eventHandler;

n/d

BINDEVENTS( )

Avaliar uma expressão de objeto uma vez, para acessar vários membros

Com...Terminar com

n/d

Usando Instrução (Referência C#)

com 9

WITH ... ENDWITH

Tratamento de exceção

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Manipulação de exceção estruturada

Tente...Catch...Por fim...participante Try

Throw

__try, __except

__finally

Tente, catch, finally

Descartar

try

catch

finally

throw

TRY

   [ tryCommands ]

[ CATCH [ To VarName ] [ WHEN IExpression ] ]

   [ catchCommands ] ]

[ THROW [ eUserExpression ] ]

[ EXIT ]

[ FINALLY

   [ finallyCommands ] ]

ENDTRY

Manipulação de exceções do C++

n/d

Tente, catch, lançar

n/d

n/d

n/d

Estruturas de Decisão

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Estrutura de decisão (seleção)

selecionar...Caso...participante selecionar

padrão de maiúsculas, comutador,

goto

Quebra

Alternar

Caso

Padrão

goto

Quebra

switch

case

break

CASE

ICASE

Estrutura de decisão (se...em seguida)

Se...Então...Outra...participante if

ElseIf

if, else

if, else

if

else

IF ... ENDIF

IIF( )

Estrutura de loop (condicional)

Tempo...participante While

... Loop

fazer, ao mesmo tempo

Continuar

Fazer

Tempo

Continuar

fazer, ao mesmo tempo

interromper, continuar

DO, WHILE (cláusulas)

Estrutura de loop (iteração)

Para...Next

For each...Next

Para

Para

foreach

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

para (prop em obj) {imprimir (obj[prop]);}

FOR (cláusulas)

FOR ... ENDFOR

Continue

NEXT

FOR EACH (cláusulas)FOR ... ENDFOR, Continue, Next

Matrizes

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Declarar uma matriz

Dim a() sistema autônomo Long

int x [5]

[int] x = novo int [5]

var x: [int]

var arr = array()

DIMENSION

DECLARE

Inicializar uma matriz

Dim a() sistema autônomo Long = {3, 4, 5}

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

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

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

var arr = novo array (1, 2, 3, 4, 5)]

x[1] = 1

x[2] = 2

Realocar matriz

Set

n/d

n/d

arr.length=newSize (apenas para arrays JScript) 10

DIMENSION

DECLARE

Escopo de classe

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Visível fora do projeto ou assembly

Público

Público

Público

public

n/d

Visível somente dentro do assembly no qual declarado

Friend

Particular

interno

interno

n/d

Visível somente em classes derivadas ou corrente

Protegido

n/d

Protegido

n/d

n/d

O acesso é limitado ao conjunto corrente ou tipos derivados da classe recipiente.

Amigo Protegido

Tipo e visibilidade de associados

protected internal

Níveis de acessibilidade

n/d

n/d

Visível somente dentro do projeto (para classes aninhadas, a classe de encerramento)

Private

Particular

Particular

private

n/d

Escopo de membro

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Acessível fora do módulo de classe e projeto

Público

Público

Público

public

(Nenhuma palavra-linguagem chave necessário para essa finalidade)

Acessível de fora da classe, mas dentro do projeto ou pacote

Friend

public private:

interno

interno

n/d

Acessíveis somente para classes derivadas e corrente

Protegido

Protegido

Protegido

protected

PROTECTED

Acessível somente dentro de classe ou módulo

Private

Particular

Particular

private

HIDDEN

Especifique uma função ou outra classe tem acesso a particular membros da classe declarativo

n/d

amigo (Não permitida em C++)

amigo

n/d

n/d

Protegido dentro do assembly e particulares para outros assemblies

n/d

protected private

n/d

n/d

n/d

O acesso é limitado ao assembly corrente ou tipos derivados da classe recipiente

Amigo Protegido

Tipo e visibilidade de associados

protected internal

Níveis de acessibilidade

n/d

n/d

Tempo de vida de diversos

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Preservar as variáveis locais do procedimento

Estático11

estático

static (referência C#) 

n/d

n/d

Compartilhados por todas as instâncias de uma classe

Compartilhado

estático

estático

estático

n/d

Diversos

Objetivo

Visual Basic

C++

C#

JScript

Visual FoxPro

Código de comentário

'

REM

/ /, / * * / para comentários de várias linhas

/ /, / * * / para comentários de várias linhas

/ / / para comentários XML

/ /, / * * / para comentários de várias linhas

*

&&

OBSERVAÇÃO:

Distinção entre diferenciar diferenciar maiúsculas de minúsculas?

Não

Sim

Sim

Sim

Não

Chamar a API do Windows

Declarar <api>

n/d

usar invocação de plataforma

n/d

DECLARE - DLL

Declarar e acionar um evento

Evento

RaiseEvent

n/d

Evento

n/d

RAISEEVENT( ) função

Primitivos de Threading

SyncLock

n/d

Bloqueio

n/d

n/d

Vá para a (ramificar)

Ir para

goto

goto

n/d

n/d

1 In Visual Basic, o único local em que Static pode ser usado sozinho para declarar uma variável — por exemplo, Static x As Long — está dentro de um procedimento.

2 In Visual Basic, procedimentos declarados com o Sub palavra-chave não pode retornar valores. Se for um procedimento retornar um valor, você deverá declará-lo com o Function palavra-chave.

3 In Visual Basic, Me não é resolvido no momento da compilar, para que você possa usá-lo sistema autônomo o valor retornado de uma propriedade ou método.

4 No JScript, o substr função ainda é suportada, mas não a forma preferida de acesso caracteres dentro de uma seqüência de caracteres. A maneira mais eficiente de acesso um caractere de um local específico em uma seqüência de caracteres está usando os colchetes.Por exemplo, para acessar o décimo caractere a seqüência de caracteres str, use str[10].

5 In Visual Basic, constructors for classes derived from .NET Framework System.Object are always named New.

6 No JScript, a sobrecarga não é permitida em construtores.

7 Normalmente, código em um método de tal libera recursos de sistema que seriam não ser liberados automaticamente pelo coletor de lixo.

8 No C++, uma classe abstrata inclui pelo menos um membro virtual puro.

9 No JScript, não há nenhum ponto entrelinhamento, sistema autônomo você deseja usar em Visual Basic. Esse recurso com com facilidade pode causar confusão, pois podem ser confundidas variáveis para propriedades e vice-versa.Observe também que o with demonstrativo produz código lento.

10No JScript, isso não realocar a matriz e não "crescer"-lo ou.Matrizes de JScript (declaradas sistema autônomo tipo Array) são sempre esparsos e dinâmico. Matrizes nativo (declaradas sistema autônomo System.Array ou sistema autônomo type[]) não são dinâmicos.

11 In Visual Basic, variáveis locais estáticas dos métodos de classe compartilhada são armazenadas por instância de classe em vez de compartilhar uma única cópia, sistema autônomo em outros idiomas. Quando Static é usado para declarar uma variável, o valor dessa variável é preservado mesmo quando a variável perde e, em seguida, recupera o escopo.

Consulte também

Referência

Conceitos de programação comparados em diferentes idiomas com exemplos de códigos

Operadores comparados em diferentes idiomas

Tipos de dados comparados em diferentes idiomas

Controles e objetos programáveis comparados em diferentes idiomas e bibliotecas

Outros recursos

Equivalentes do linguagem

Visual J#