Palavras-chave comparadas em vários idiomas
Este tópico lista tarefas comuns de programação que podem ser resumidas com uma palavra-chave da linguagem.Para obter mais informações sobre as tarefas que precisam exemplos de código, consulte Conceitos de programação comparados em vários idiomas, com exemplos de código.
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Declare uma variável |
declarators (conceito, não palavra-chave) |
declarators (as palavras-chave incluem tipos definidos pelo usuário e tipos de built-in) |
||
Declarar uma constante nomeada |
||||
Crie uma nova instância de uma classe |
new |
|||
Crie um novo objeto |
CreateObject para objetos COM |
CoCreateInstance() (para objetos COM) |
new |
|
Atribuir um objeto a uma variável de objeto |
= |
= |
<- |
|
A função/método não retorna um valor |
Sub2 |
|||
Sobrecarregar uma função ou um método (Visual Basic: sobrecarregar um procedimento ou o método) |
(Nenhum palavras-chave da linguagem necessário para essa finalidade) |
(Nenhum palavras-chave da linguagem necessário para essa finalidade) |
||
Refere-se ao objeto atual |
I3 |
Use o identificador são como descrito em Métodos ou em Membros |
||
Faça uma chamada nonvirtual a um método virtual do objeto atual |
MyClass::Func1(), onde é MyClass classe de c++ com uma função de membro Func1. |
Não aplicável. |
Não aplicável. |
|
Recuperar o caractere de uma cadeia de caracteres |
GetChar, ou str(10) onde str é uma cadeia de caracteres |
*(p + 10) ou p[10] onde p é um char* ou um wchar_t* |
str[10] onde str é uma cadeia de caracteres |
str.Chars(10) onde str é uma cadeia de caracteres |
Declare um tipo de dados composto (a estrutura) |
||||
Inicializar um objeto (o construtor) |
Sub new ()()4 |
construtores (conceito, não palavra-chave) |
Construtores, ou construtores de tipo padrão do sistema |
|
Finalizar um objeto diretamente |
Não aplicável. |
~ClassName |
Não aplicável. |
Não aplicável. |
O método chamado pelo sistema imediatamente antes de coleta de lixo recupera um objeto5 |
Finalize (no Visual Basic 6,0, Class_Terminate) |
Destructors (C++) (conceito, não palavra-chave) |
||
Garanta que os recursos não gerenciados são depois de uso dispose |
Não aplicável. |
|||
Inicializar uma variável onde está declarado |
Dim x As Long = 5 Dim c As New Car(FuelTypeEnum.Gas) |
//inicializa como um valor: int x=5; //with um construtor apropriado: C c(10); |
//inicializa como um valor: int x = 123; //ou construtor padrão de uso: int x = new int(); |
let x = 123 |
Leve o endereço de uma função |
AddressOf (este operador retorna uma referência a uma função na forma de uma instância do representante) |
|||
Retorno de chamada |
Passar o endereço de uma função outra que chama a trás do solicitante.Para ver um exemplo, consulte Como: passar procedimentos para outro procedimento em Visual Basic. |
CALLBACK (um atual) callback (atributo de IDL) |
Não aplicável. |
|
Declare que um objeto pode ser modificado de forma assíncrona |
Não aplicável. |
Não aplicável. |
||
Declaração explícita de força de variáveis |
Não aplicável (todas as variáveis devem ser declaradas antes do uso) |
Não aplicável (todas as variáveis devem ser declaradas antes do uso) |
Não aplicável (todas as variáveis devem ser declaradas antes do uso) |
|
Ativar a inferência de tipos local |
Inferência de tipos é automaticamente ativada |
|||
Teste para um variável de objeto que não faz referência a um objeto |
pobj == NULL |
obj == null |
Use uma opção em uma expressão de correspondência |
|
Valor de uma variável de objeto que não faz referência a um objeto |
nullptr |
|||
Teste uma expressão de zero de banco de dados |
Não aplicável. |
Não aplicável. |
Não aplicável. |
|
Testar se uma variável variante esteve inicializado |
Não aplicável. |
Não aplicável. |
Não aplicável. |
Não aplicável. |
Defina uma propriedade padrão |
property: a palavra-chave depropertyrefere-se ao código gerenciado |
Programação orientada a objeto
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Refere-se a uma classe base |
||||
Declare uma interface |
||||
Especificar uma interface a ser implementada |
(Apenas da interface derivada) class C1 : public I1 |
class C1 : I1 Interfaces |
||
Declare uma classe |
||||
Declare um módulo |
static class |
static class |
||
Declare uma definição parcial de uma classe ou estrutura |
Não aplicável. |
Nenhum direto equivalente.Consulte Extensões de tipo (F#). |
||
Especificar que uma classe pode apenas ser herdada.Uma instância da classe não pode ser criada |
||||
Especificar que uma classe não pode ser herdada |
||||
Declare um tipo enumerado |
||||
Declarar uma constante de classe |
const (aplicado a uma declaração de campo) |
Os valores são imutáveis constante () por padrão.Consulte Valores (F#). |
||
Derive uma classe de uma classe base |
Class C1 : public Base (sem palavras-chave da linguagem necessário para essa finalidade) |
class C1 : C2 |
||
Substituir um método ou propriedade |
(Nenhum palavras-chave da linguagem necessário para essa finalidade exceto substituir (Extensões de Componentes C++) para compilações de /clr — consulte Classes derivadas) |
|||
Declare um método que deve ser implementado em uma classe base |
Coloque = 0 no final da declaração (o método) puro virtual |
|||
Declare um método que não pode ser substituído |
NotOverridable (métodos são NotOverridable por padrão.) |
Use o atributo sealed |
||
Declare um método ou propriedade virtual, ou o acessador de propriedade |
abstract, como descrito em Métodos |
|||
Ocultar um membro da classe base em uma classe derivada |
Ocultar um método virtual ou abstrata não é permitido |
|||
Declare uma referência de typesafe para um método da classe |
myObj.myFunction onde myObj é um objeto e myMethod é um método disponível no objeto |
|||
Especificar que uma variável pode conter um objeto cujos eventos você deseja tratar |
Não aplicável. |
(Escrever código - nenhum palavra-chave específica) |
Não aplicável. |
|
Especificar os eventos para um procedimento de evento será chamado |
Alças (os procedimentos do evento ainda podem ser associadas com um variável de WithEvents por padrão de nomeação) |
Não aplicável. |
eventHandler do evento; += |
Não aplicável. |
Avalie uma expressão de objeto uma vez, para acessar mais membros |
Não aplicável. |
Não aplicável. |
Não aplicável. |
Manipulação de exceção
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Manipulação de exceção |
Manipulação estruturada de exceções:__try, __except Manipulação de exceção C++: Manipulação de exceções CLR: |
Estruturas de Decisão
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Estruturas de decisão (seleção) |
||||
Estruturas de decisão (se…em) |
||||
Estruturas de loop (condicional) |
||||
Estruturas de loop (iteração) |
Matrizes
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Declarar uma matriz |
int[] x = new int[5]; |
let x = [| 1; 2; 3; 4; 5 |] |
||
Inicializar uma matriz |
let x = [| 1; 2; 3; 4; 5 |] |
|||
Realocar a matriz |
Não aplicável. |
Não aplicável. |
Não aplicável. |
Escopo de classe
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Visível fora do projeto ou do assembly |
||||
Visível somente dentro do assembly no qual ele foi declarado |
||||
Visível somente dentro do atual ou classes derivadas |
Não aplicável. |
Não aplicável. |
||
O acesso é limitado para o assembly atual ou tipos derivados da classe contém. |
protected internal |
Não aplicável. |
||
Visível somente dentro do projeto (para classes aninhadas dentro da classe, incluindo) |
Escopo de membro
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Classe, acessível projeto, e módulo de fora |
||||
Acessível fora da classe, mas dentro do projeto ou de pacote |
public private |
|||
Acessível somente a atual e classes derivadas |
Não aplicável. |
|||
Acessível somente dentro da classe ou módulo |
||||
Especificar que uma função ou outra classe têm acesso a membros particulares da classe declarante |
Não aplicável. |
Não aplicável. |
Não aplicável. |
|
Protegido dentro do assembly e particular para outros assemblies |
Não aplicável. |
protected private |
Não aplicável. |
Não aplicável. |
O acesso é limitado para o assembly atual ou tipos derivados da classe contém |
protected internal |
Não aplicável. |
Tempo de vida variado
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Variáveis locais do procedimento preserve |
Não aplicável. |
|||
Compartilhado por todas as instâncias de uma classe |
Diversos
Finalidade |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Código de comentário |
//, * (*) para comentários de várias linhas |
|||
Diferenciação de maiúsculas e minúsculas? |
Não |
Sim |
Sim |
Sim |
A API do Windows |
Não aplicável. |
Usar invocação de plataforma. Consulte Funções externas (F#). |
||
Declare e gerar um evento |
Não aplicável. |
|||
Primitivas de segmentação |
Não aplicável. |
|||
Vá (a ramificação) |
Não aplicável. |
1 Em Visual Basic, o único local onde Static pode ser usado por si só para declarar uma variável — por exemplo, Static x As Long — está dentro de um procedimento.
2 Em Visual Basic, procedimentos declarado com a palavra-chave de Sub não podem retornar valores.Se um procedimento é retornar um valor, você deve declará-la com a palavra-chave de Function .
3 Em Visual Basic, Me não é resolvida em tempo de compilação, para que você possa usá-lo como o valor de retorno de uma propriedade ou um método.
4 Em Visual Basic, os construtores para classes derivadas de .NET FrameworkSystem.Object são nomeados sempre New.
5 Normalmente, o código em tal método libera os recursos de sistema que não poderiam ser liberados automaticamente pelo coletor de lixo.
6 Em C++, uma classe abstrata incluir pelo menos um membro puro virtual.
7 Em Visual Basic, variáveis locais de métodos estáticos não compartilhado da classe são armazenados por instância de classe ao invés de compartilhar uma cópia única, como em outras linguagens.Quando Static é usada para declarar uma variável, o valor dessa variável é preservado se a variável perde e recupera no escopo.
Consulte também
Referência
Conceitos de programação comparados em vários idiomas, com exemplos de código
Operadores de comparação em vários idiomas
Tipos de dados comparados em vários idiomas
Controles e objetos programáveis comparados em vários idiomas e bibliotecas