Palavras-chave comparadas em vários idiomas
Este tópico lista as tarefas comuns de programação que podem ser resumidas com uma palavra-chave de idioma. Para obter mais informações sobre tarefas que precisam de exemplos de código, consulte Conceitos de programação comparados em vários idiomas, com exemplos de código.
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Declare uma variável |
declaradores (conceito, a palavra-chave não) |
declaradores (palavras-chave incluem tipos definidos pelo usuário e tipos internos) |
||
Declarar uma constante nomeada |
||||
Criar uma nova instância de uma classe |
new |
|||
Criar um novo objeto |
CreateObjectpara objetos COM |
CoCreateInstance () (para objetos COM) |
new |
|
Atribuir um objeto a uma variável de objeto |
= |
= |
<- |
|
Função, método não retornar um valor. |
Sub2 |
|||
Uma função ou método de sobrecarga (Visual Basic: um procedimento ou método de sobrecarga) |
(Nenhuma palavra-idioma chave necessário para essa finalidade) |
(Nenhuma palavra-idioma chave necessário para essa finalidade) |
||
Referência ao objeto atual |
Me3 |
Use o self-identifier, conforme descrito em métodos ou membros |
||
Fazer uma chamada nonvirtual para um método virtual do objeto atual |
MyClass::Func1(), onde MyClass é uma classe C++ com uma função de membro Func1. |
Not applicable |
Not applicable |
|
Recuperar o caractere de uma seqüência de caracteres. |
*(p + 10)ou p[10] onde p é um char * ou wchar_t * |
str[10]onde str é uma seqüência de caracteres. |
str.Chars(10)onde str é uma seqüência de caracteres. |
|
Declarar um tipo de dados compostos (estrutura) |
||||
Inicializar um objeto (construtor) |
construtores (conceito, a palavra-chave não) |
Construtores, ou construtores de tipo de padrão do sistema |
||
Encerrar um objeto diretamente |
Not applicable |
~ClassName |
Not applicable |
Not applicable |
Método chamado pelo sistema antes de coleta de lixo recupera um objeto5 |
Finalizar (em Visual Basic 6.0, Class_Terminate) |
Destructors (C++)(conceito, palavra-chave não) |
||
Garantia de que os recursos não gerenciados são descartados após o uso |
Not applicable |
|||
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(); |
let x = 123 |
Obter o endereço de uma função |
AddressOf (Este operador retorna uma referência a uma função na forma de uma instância delegate) |
|||
Callback |
Passe o endereço de uma função para outro que chama o chamador de volta. For an example, see Como: Passar Procedimentos para outro Procedimento em Visual Basic.. |
CALLBACK(um tipo padrão) callback(Atributo IDL) |
Not applicable |
|
Declarar que um objeto pode ser modificado de forma assíncrona |
Not applicable |
Not applicable |
||
Forçar a declaração explícita 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) |
|
Habilitar a inferência de tipo local |
Inferência de tipo é ativada automaticamente |
|||
Teste para uma variável de objeto não faz referência a um objeto |
pobj == NULL |
obj == null |
Usar um tipo de opção em uma expressão de correspondência |
|
Valor de uma variável de objeto não faz referência a um objeto |
nullptr |
|||
Teste para uma expressão de banco de dados nula |
Not applicable |
Not applicable |
Not applicable |
|
Testar se uma variável Variant foi inicializada. |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
Definir uma propriedade padrão |
property: o property palavra-chave se refere ao código gerenciado |
Object-Oriented Programming
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Consulte a classe base |
||||
Declarar uma interface. |
||||
Especificar uma interface a ser implementado. |
(Basta derivar a partir da interface) class C1 : public I1 |
class C1 : I1 Interfaces |
||
Declarar uma classe |
||||
Declarar um módulo |
static class |
static class |
||
Declarar uma definição parcial de uma classe ou estrutura |
Not applicable |
No direct equivalent. See Extensões de tipo (F#). |
||
Especifica uma classe só pode ser herdada. Não é possível criar uma instância da classe |
||||
Especificar que uma classe não pode ser herdada. |
||||
Declarar um tipo enumerado |
||||
Declarar uma constante de classe |
Const (aplicadas a uma declaração de campo) |
Os valores são imutável (constante) por padrão. See Valores (F#). |
||
Derivar uma classe de uma classe base |
Class C1 : public Base(Nenhuma palavra-idioma chave necessário para essa finalidade) |
class C1 : C2 |
||
Substituir um método ou propriedade |
(Nenhuma palavra-chave de idioma necessário para essa finalidade, exceto override para /clr compilações — consulte Derived Classes) |
|||
Declara um método que deve ser implementado em uma classe derivada |
Colocar = 0 no final da declaração (método virtual puro) |
|||
Declara um método que não pode ser substituído. |
NotOverridable (métodos são NotOverridable por padrão.) |
Use o atributo Sealed |
||
Declara um acessador de propriedade ou método ou propriedade virtual |
abstract, conforme descrito em métodos |
|||
Ocultar um membro da classe base em uma classe derivada |
Não é permitido ocultar um método virtual ou abstract |
|||
Declarar uma referência a um método de classe de typesafe |
myObj.myFunctiononde myObj é um objeto e myMethod é um método disponível naquele objeto |
|||
Especificar que uma variável pode conter um objeto cujos eventos deseja tratar |
Not applicable |
(Não escreva o código - nenhuma palavra-chave específica) |
Not applicable |
|
Especifique os eventos para o qual um procedimento de evento será chamado. |
Manipula (procedimentos de evento ainda podem ser associados com um WithEvents variável pelo padrão de nomenclatura) |
Not applicable |
evento eventHandler de + =; |
Not applicable |
Avaliar uma expressão de objeto de uma vez, para acessar vários membros |
Not applicable |
Not applicable |
Not applicable |
Exception Handling
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Manipulação de exceção |
Manipulação de exceção estruturada:__try, __except Manipulação de exceção de C++: Manipulação de exceção do CLR: |
Decision Structures
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Estrutura de decisão (seleção) |
||||
Estrutura de decisão (if... em seguida) |
||||
Estrutura de loop (condicional) |
||||
Estrutura de loop (iteração) |
Arrays
Purpose |
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 matriz |
Not applicable |
Not applicable |
Not applicable |
Escopo de classe
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Visível fora do projeto ou assembly |
||||
Visível somente dentro do assembly no qual é declarada |
||||
Visível somente dentro de classes atuais ou derivados |
Not applicable |
Not applicable |
||
O acesso é limitado ao conjunto atual ou tipos derivados da classe que contém. |
protected internal |
Not applicable |
||
Visível somente dentro do projeto (para classes aninhadas, a classe de encerramento) |
Escopo de membro
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Acessível fora do módulo de classe e projeto |
||||
Acessível de fora da classe, mas dentro do projeto ou o pacote |
public private |
|||
Acessível somente a classes derivadas e atuais |
Not applicable |
|||
Acessível somente dentro da classe ou módulo |
||||
Especificar que uma função ou outra classe tenha acesso a membros de particulares da classe declarativo |
Not applicable |
Not applicable |
Not applicable |
|
Protegido dentro do assembly e particular para outros assemblies |
Not applicable |
protected private |
Not applicable |
Not applicable |
O acesso é limitado ao conjunto atual ou tipos derivados da classe contendo |
protected internal |
Not applicable |
Tempo de vida de diversos
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Preservar a variáveis locais do procedimento. |
Not applicable |
|||
Compartilhados por todas as instâncias de uma classe |
Miscellaneous
Purpose |
Visual Basic |
C++ |
C# |
F# |
---|---|---|---|---|
Código de comentário |
/ /, (* *) para comentários de várias linhas |
|||
Diferencia maiúsculas de minúsculas? |
No |
Yes |
Yes |
Yes |
Chamar a API do Windows |
Not applicable |
Use invocação de plataforma. |
||
Declarar e dispara um evento |
Not applicable |
|||
Primitivos de Threading |
Not applicable |
|||
Vá para a (ramificação) |
Not applicable |
1 Na Visual Basic, a apenas colocar onde Static pode ser usado sozinho para declarar uma variável — por exemplo, Static x As Long — está dentro de um procedimento.
2 Na Visual Basic, procedimentos declarado com o Sub palavra-chave não pode retornar valores. Se um procedimento retornar um valor, você precisa declará-la com o Function palavra-chave.
3 Na Visual Basic, Me não é resolvido em tempo de compilação para que possa usá-lo como o valor de retorno de uma propriedade ou método.
4 Na Visual Basic, construtores de classes derivadas de .NET Framework System.Object sempre são nomeados New.
5 Normalmente, o código em tal método libera os recursos de sistema que seriam não automaticamente liberados pelo coletor de lixo.
6 Em C++, uma classe abstrata inclui pelo menos um membro de virtual puro.
7 Na 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, como em outros idiomas. Quando Static é usado para declarar uma variável, o valor dessa variável é preservado mesmo se a variável perde e, em seguida, recupera o escopo.
Consulte também
Referência
Conceitos de programação comparados em vários idiomas, com exemplos de código
Operadores comparados em vários idiomas
Tipos de dados comparados em vários idiomas
Controles e objetos programáveis comparados em vários idiomas e bibliotecas