Udostępnij za pośrednictwem


Słowa kluczowe w porównaniu w różnych językach

Ten temat zawiera listę typowych zadań programistycznych, które mogą być podsumowywane ze słowem kluczowym języka.Aby uzyskać więcej informacji na temat zadań, które potrzebują przykładów kodu, zobacz Pojęcia związane z programowaniem w porównaniu w różnych językach i przykłady kodu.

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Zadeklaruj zmienną

Dim

Publicznego

Przyjaźń

Chronione

Prywatne

Udostępnione

Static1

declarators (koncepcja, słowa kluczowego not)

declarators (słowa kluczowe Uwzględnij typy zdefiniowane przez użytkownika i wbudowanych typów)

Niech powiązania

Wartości

Zadeklarować stałą o nazwie

Const

Const

Const

tylko do odczytu

Niech powiązania

Wartości

Utworzyć nową instancję klasy

Nowy

Nowy

ref new, gcnew (C++ Component Extensions)

Nowy

new

Utwórz nowy obiekt

Nowy

CreateObjectdla obiektów COM

CoCreateInstance() (dla obiektów COM)

Nowy 

new

Przypisać obiekt do zmiennej obiektowej

=

=

=

<-

Funkcja/metoda nie zwraca wartości

Sub2

void

void

Typ jednostki

Przeciążenie funkcji lub metody (Visual Basic: przeciążać procedury lub metody)

Przeciążenia

(Nie wymaganych w tym celu kluczowe języka)

(Nie wymaganych w tym celu kluczowe języka)

zastąp

Odnoszą się do bieżącego obiektu

Me3

to

to

Użyj self-identifier, jak to opisano w metody lub członków

Nawiązywanie połączeń Niewirtualna metoda wirtualna bieżącego obiektu

MojaKlasa

MyClass::Func1(), gdzie MyClass jest klasą C++ z funkcji składowej Func1.

Nie dotyczy

Nie dotyczy

Pobrać znaków z ciągu znaków

GetChar, lub str(10) gdzie str jest ciągiem

*(p + 10)lub p[10] gdzie p jest char lub wchar_t

str[10]gdzie str jest ciągiem

string

str.Chars(10)gdzie str jest ciągiem

Ciągi

Zadeklaruj typ danych złożonych (struktura)

Struktura

Klasa

Interfejs

Klasa

struct

Unia

__interface

struct

Klasa

Interfejs

Klasy

Inicjowanie obiektu (Konstruktor)

Sub New()4

Konstruktory (koncepcja, słowa kluczowego not)

Konstruktory lub konstruktory typu domyślne systemu

Konstruktory klasy

Konstruktory

Zakończyć obiekt bezpośrednio

Nie dotyczy

~Nazwa_klasy

Nie dotyczy

Nie dotyczy

Metoda wywołana przez system, tuż przed wyrzucania elementów bezużytecznych odzyskuje obiektu5

Finalizowanie (w języku Visual Basic 6.0, Class_Terminate)

Destruktory (C++)(koncepcja, słowa kluczowego not)

Destruktorów

Finalize

Gwarancji, że niezarządzanych zasoby są usuwane po użyciu

Za pomocą

Nie dotyczy

za pomocą

Zarządzanie zasobami

Zainicjuj zmienną, gdzie jest on zadeklarowany

Dim x As Long = 5

Dim c As New Car(FuelTypeEnum.Gas)

/ / Zainicjuj na wartość:

int x=5;

//with odpowiedniego konstruktora:

C c(10);

/ / Zainicjuj na wartość:

int x = 123;

/ / lub użyć domyślnego konstruktora:

int x = new int();

let x = 123

Uzyskać adresu funkcji

AddressOf (Ten operator zwraca odwołanie do funkcji w postaci instancji pełnomocnik)

delegate (C++ Component Extensions)

Delegat

Funkcje

Wywołanie zwrotne

Przekazywać adres jednej funkcji na inny, który ponownie wywołuje źródła.Aby uzyskać przykład, zobacz Jak: przekazać procedur do innej procedury w języku Visual Basic.

CALLBACK(standardowy typ)

callback(Atrybut IDL)

Delegat

Nie dotyczy

Oświadczają, że obiekt może być modyfikowana w sposób asynchroniczny

Nie dotyczy

lotne

lotne

Nie dotyczy

Wymuszenie jawnej deklaracji zmiennych

Option Explicit

Nie dotyczy (wszystkie zmienne muszą być deklarowane przed wykorzystaniem)

Nie dotyczy (wszystkie zmienne muszą być deklarowane przed wykorzystaniem)

Nie dotyczy (wszystkie zmienne muszą być deklarowane przed wykorzystaniem)

Włącz lokalny wnioskowanie

Wywnioskować, opcja

Wnioskowanie jest automatycznie włączana.

Test na zmienną obiektu, który nie odwołuje się do obiektu

obj nie jest niczym

pobj == NULL

obj == null

Używany typ opcji w wyrażenie dopasowania

Opcja

Dopasowanie wyrażeń

Wartość zmiennej obiektu, który nie odwołuje się do obiektu

Nic

nullptr

wartość null

Wartości null

Test na wyrażenie wartości null w bazie danych

IsDBNull

Nie dotyczy

Nie dotyczy

Nie dotyczy

Sprawdzić, czy zmiennej typu Variant został zainicjowany.

Nie dotyczy

Nie dotyczy

Nie dotyczy

Nie dotyczy

Zdefiniuj właściwości domyślnej

Domyślne

property: propertysłowo kluczowe odwołuje się do kodu zarządzanego

Indeksatory

Właściwości indeksowanych

Programowanie zorientowane obiektowo

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Odnoszą się do klasy podstawowej

MyBase

__super

podstawy

podstawy

Zadeklarować interfejsu

Interfejs

__interface

interface class (C++ Component Extensions)

Interfejs

Interfejs

Określ interfejs, mają być wprowadzone w życie

Implementacja

(Tylko dziedziczyć interfejs)

class C1 : public I1

class C1 : I1

Interfejsy

Interfejs

W jej deklaracji

Klasa

Klasa

Klasy i struktury (C++ Component Extensions)

Klasa

Typ

Deklarujemy moduł

Moduł

static class

static class

Moduł

Deklarujemy definicji częściowej klasy lub struktury

Częściowe

Nie dotyczy

Częściowe

Brakuje bezpooredniego odpowiednika.Zobacz Typ rozszerzenia (F#).

Umożliwia określenie, że klasa tylko mogą być dziedziczone.Nie można utworzyć wystąpienie klasy

MustInherit

abstract (C++ Component Extensions)6

abstract

Klasy abstrakcyjne

Określ, że klasa nie może być dziedziczona.

NotInheritable

sealed (C++ Component Extensions)

zamknięta

SealedAttribute

Zadeklarować typ wyliczany

Tekst stały

Tekst stały

Tekst stały

Typ

Deklarujemy stałej klasy

Const

Const

Const (stosowane do deklaracji pole)

Wartości są niezmienne (stała) domyślnie.Zobacz Wartości (F#).

Pochodzić od klasy klasy podstawowej

Klasy C1 dziedziczy C2

Class C1 : public Base(Nie potrzebnych w tym celu kluczowe języka)

class C1 : C2

Klasa

dziedziczenie

Zastąpić metody lub właściwości

Zastępuje

(Nie słowa kluczowego języka wymaganych w tym celu, z wyjątkiem override (C++ Component Extensions) dla kompilacji/CLR — zobacz Klasy pochodne)

zastąp

zastąp

Zadeklarować metody, którą należy zaimplementować w klasie wynikających

MustOverride

Umieścić = 0 na końcu deklaracji (czysty metoda wirtualna)

abstract

abstract

Zadeklarować metody, które nie mogą być przesłaniane

NotOverridable (metody są NotOverridable domyślnie.)

sealed (C++ Component Extensions)

zamknięta

Użyj atrybutu Sealed

Deklarujemy wirtualnego akcesora metoda lub właściwość lub właściwość

Może zostać zastąpiony

wirtualne

wirtualne

abstract, zgodnie z opisem w metody

Ukrywanie członek klasy podstawowej w klasie pochodnej

Cieniowanie

new (nowe gniazdo w vtable) (C++ Component Extensions)

Nowy

Ukrywanie metoda virtual lub abstract nie jest dozwolone.

Deklarujemy typesafe odniesienie do metody klasy

Pełnomocnik

delegate (C++ Component Extensions)

Delegat

myObj.myFunctiongdzie myObj jest obiektem i myMethod jest to metoda dostępna dla tego obiektu

Określ, że zmienna może zawierać obiektu, którego chcesz obsługiwać zdarzenia

WithEvents

Nie dotyczy

(Napisać kod - nie określonego słowa kluczowego)

Nie dotyczy

Określ zdarzenia, dla których zostanie wywołana procedury zdarzenia

Obsługuje (procedury zdarzeń, nadal może być skojarzona z WithEvents zmiennej przez wzorzec nazewnictwa)

Nie dotyczy

Zdarzenie eventHandler +=;

Nie dotyczy

Oceny wyrażenie typu object jeden raz, aby uzyskać dostęp do wielu członków

Z...Koniec z

Nie dotyczy

Nie dotyczy

Nie dotyczy

Obsługa wyjątków

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Obsługa wyjątków

Konstrukcji try...CATCH...Na koniec...Koniec Try

Rzut

Strukturalnej obsługi wyjątków: __try, __except

__finally

Obsługę wyjątków C++:

Spróbuj, połowu, rzut

Obsługa wyjątków CLR:

Obsługa wyjątków (C++ Component Extensions)

Spróbuj, połowu, na koniec

rzut

Spróbuj

z

na koniec

Decyzja struktur

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Struktury decyzji (wybór)

Wybierz...Sprawę...Wybierz opcję koniec

przełącznik, sprawa, domyślną

Przejdź do

podział

przełącznik, sprawa

domyślne

Przejdź do

podział

Dopasowanie wyrażeń

Struktury decyzji (if...następnie)

IF...Następnie...Else...End If

ElseIf

IF, else

IF, else

Jeśli... to... else

Struktura pętli (warunkowa)

Czas...Koniec podczas

Czy...Pętla

podczas gdy

w dalszym ciągu

Wykonaj

Podczas

w dalszym ciągu

podczas gdy... zrobić

Struktura pętli (iteracji)

Dla...Dalej

Dla każdego...Dalej

dla

dla

foreach

for... do

for... w

Tablice

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Zadeklarować tablicę

Dim a() tak długo

int x [5];

int[] x = new int[5];

let x = [| 1; 2; 3; 4; 5 |]

Tablice

Zainicjowania tablicy

Tak długo Dim a() = {3, 4, 5}

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

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

let x = [| 1; 2; 3; 4; 5 |]

Tablice

Ponownego przydzielenia tablicy

ReDim

Nie dotyczy

Nie dotyczy

Nie dotyczy

Zakres klasy

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Widoczna na zewnątrz projekcie lub w zestawie

Publicznego

publiczne

publiczne

publiczne

Widoczne tylko w obrębie zestawu, w którym zadeklarowane

Przyjaźń

prywatne

wewnętrzny

wewnętrzny

Widoczne tylko w obrębie bieżącego lub pochodne klasy

Chronione

Nie dotyczy

Chronione

Nie dotyczy

Dostęp jest ograniczony do bieżącego zestawu lub typy pochodzące z klasa zawierająca.

Przyjaźń chronionych

Typ i widoczności Członkowskie

protected internal

Poziomy ułatwień dostępu

Nie dotyczy

Widoczne tylko w ramach projektu (dla zagnieżdżonych grup ubezpieczeń, w ramach otaczający klasy)

Prywatne

prywatne

prywatne

prywatne

Zakres Członkowskie

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Dostępne zewnątrz klasy, projekt i moduł

Publicznego

publiczne

publiczne

publiczne

Dostępne spoza klasy, ale w projekcie lub pakiet

Przyjaźń

public private

wewnętrzny

wewnętrzny

Dostępne tylko dla klas bieżącego i pochodne

Chronione

chronione

chronione

Nie dotyczy

Dostępne tylko w klasie lub moduł

Prywatne

prywatne

prywatne

prywatne

Określ, że funkcja lub inną klasę ma dostęp do prywatnego członków klasa deklarująca

Nie dotyczy

Przyjaźń

Nie dotyczy

Nie dotyczy

Chronione wewnątrz montażu i prywatne dla innych zestawów

Nie dotyczy

protected private

Nie dotyczy

Nie dotyczy

Dostęp jest ograniczony do bieżącego zestawu lub typy pochodzące z klasa zawierająca

Przyjaźń chronionych

Typ i widoczności Członkowskie

protected internal

Poziomy ułatwień dostępu

Nie dotyczy

Okres istnienia — różne

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Zachowaj zmienne lokalne procedury

Static7

statyczne

statyczne

Nie dotyczy

Współużytkowane przez wszystkich wystąpień klasy

Udostępnione

statyczne

statyczne

statyczne

Różne

Cel

Język Visual Basic

Język C++

Język C#

JĘZYK F#

Kod komentarza

'

Rem

/ /, / * * / za Komentarze wielowierszowe

/ /, / * * / za Komentarze wielowierszowe

/ / / dla komentarze XML

/ /, (* *) dla Komentarze wielowierszowe

Wielkość liter?

Nie

Tak

Tak

Tak

Wywołanie interfejsu API systemu Windows

Zadeklarować <API>

Nie dotyczy

Użyj wywołanie platformy

Wywołanie platformy użycia.

Zobacz Funkcje zewnętrzne (F#).

Deklaruje i wygenerować zdarzenie

Zdarzenie

RaiseEvent

Nie dotyczy

Zdarzenie

Zdarzenia

Wątków pierwotnych

SyncLock

Nie dotyczy

Blokada

Blokada

Przejdź do (branch)

Przejdź do

Przejdź do

Przejdź do

Nie dotyczy

1 w Visual Basic, tylko miejsce, gdzie Static , można samodzielnie będzie deklarowana zmienna — na przykład, Static x As Long — jest w ramach procedury.

2 w Visual Basic, procedur zadeklarowana z Sub słowo kluczowe nie mogą zwracać wartości.W przypadku procedury w celu zwrócenia wartości, należy zadeklarować ją z Function słowa kluczowego.

3 w Visual Basic, Me nie zostanie rozwiązany w czasie kompilacji, tak aby można go używać jako wartość zwracana do właściwości lub metody.

4 w Visual Basic, konstruktory klas pochodzące z .NET FrameworkSystem.Object zawsze noszą nazwy New.

5 Zazwyczaj kod w taki sposób zwalnia zasoby systemu, które nie będzie automatycznie zwolnione przez moduł garbage collector.

6 w języku C++ klasy abstrakcyjnej zawiera co najmniej jednego członka wirtualnego czystych.

7 w Visual Basic, statyczne zmienne lokalne metod klasy nieudostępnionym są przechowywane na wystąpienie klasy zamiast dzielę jednym egzemplarzu, jak w innych językach.Gdy Static jest używany, aby zadeklarować zmienną, wartość tej zmiennej jest zachowywany nawet, jeśli zmienna traci i następnie odzyskuje zakresu.

Zobacz też

Informacje

Pojęcia związane z programowaniem w porównaniu w różnych językach i przykłady kodu

Podmioty gospodarcze w porównaniu w różnych językach

Typy danych w porównaniu w różnych językach

Formantów i obiektów programowalnych porównywane w różnych językach i bibliotek

Inne zasoby

Ekwiwalenty języka