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ą |
declarators (koncepcja, słowa kluczowego not) |
declarators (słowa kluczowe Uwzględnij typy zdefiniowane przez użytkownika i wbudowanych typów) |
||
Zadeklarować stałą o nazwie |
||||
Utworzyć nową instancję klasy |
new |
|||
Utwórz nowy obiekt |
CreateObjectdla obiektów COM |
CoCreateInstance() (dla obiektów COM) |
new |
|
Przypisać obiekt do zmiennej obiektowej |
= |
= |
<- |
|
Funkcja/metoda nie zwraca wartości |
Sub2 |
|||
Przeciążenie funkcji lub metody (Visual Basic: przeciążać procedury lub metody) |
(Nie wymaganych w tym celu kluczowe języka) |
(Nie wymaganych w tym celu kluczowe języka) |
||
Odnoszą się do bieżącego obiektu |
Me3 |
|||
Nawiązywanie połączeń Niewirtualna metoda wirtualna bieżącego obiektu |
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 |
str.Chars(10)gdzie str jest ciągiem |
Zadeklaruj typ danych złożonych (struktura) |
||||
Inicjowanie obiektu (Konstruktor) |
Konstruktory (koncepcja, słowa kluczowego not) |
Konstruktory lub konstruktory typu domyślne systemu |
||
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) |
||
Gwarancji, że niezarządzanych zasoby są usuwane po użyciu |
Nie dotyczy |
|||
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) |
|||
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) |
Nie dotyczy |
|
Oświadczają, że obiekt może być modyfikowana w sposób asynchroniczny |
Nie dotyczy |
Nie dotyczy |
||
Wymuszenie jawnej deklaracji zmiennych |
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 |
Wnioskowanie jest automatycznie włączana. |
|||
Test na zmienną obiektu, który nie odwołuje się do obiektu |
pobj == NULL |
obj == null |
Używany typ opcji w wyrażenie dopasowania |
|
Wartość zmiennej obiektu, który nie odwołuje się do obiektu |
nullptr |
|||
Test na wyrażenie wartości null w bazie danych |
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 |
property: propertysłowo kluczowe odwołuje się do kodu zarządzanego |
Programowanie zorientowane obiektowo
Cel |
Język Visual Basic |
Język C++ |
Język C# |
JĘZYK F# |
---|---|---|---|---|
Odnoszą się do klasy podstawowej |
||||
Zadeklarować interfejsu |
||||
Określ interfejs, mają być wprowadzone w życie |
(Tylko dziedziczyć interfejs) class C1 : public I1 |
class C1 : I1 Interfejsy |
||
W jej deklaracji |
||||
Deklarujemy moduł |
static class |
static class |
||
Deklarujemy definicji częściowej klasy lub struktury |
Nie dotyczy |
Brakuje bezpooredniego odpowiednika.Zobacz Typ rozszerzenia (F#). |
||
Umożliwia określenie, że klasa tylko mogą być dziedziczone.Nie można utworzyć wystąpienie klasy |
||||
Określ, że klasa nie może być dziedziczona. |
||||
Zadeklarować typ wyliczany |
||||
Deklarujemy stałej klasy |
Const (stosowane do deklaracji pole) |
Wartości są niezmienne (stała) domyślnie.Zobacz Wartości (F#). |
||
Pochodzić od klasy klasy podstawowej |
Class C1 : public Base(Nie potrzebnych w tym celu kluczowe języka) |
class C1 : C2 |
||
Zastąpić metody lub właściwości |
(Nie słowa kluczowego języka wymaganych w tym celu, z wyjątkiem override (C++ Component Extensions) dla kompilacji/CLR — zobacz Klasy pochodne) |
|||
Zadeklarować metody, którą należy zaimplementować w klasie wynikających |
Umieścić = 0 na końcu deklaracji (czysty metoda wirtualna) |
|||
Zadeklarować metody, które nie mogą być przesłaniane |
NotOverridable (metody są NotOverridable domyślnie.) |
Użyj atrybutu Sealed |
||
Deklarujemy wirtualnego akcesora metoda lub właściwość lub właściwość |
abstract, zgodnie z opisem w metody |
|||
Ukrywanie członek klasy podstawowej w klasie pochodnej |
Ukrywanie metoda virtual lub abstract nie jest dozwolone. |
|||
Deklarujemy typesafe odniesienie do metody klasy |
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 |
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 |
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 |
Strukturalnej obsługi wyjątków: __try, __except Obsługę wyjątków C++: Obsługa wyjątków CLR: |
Decyzja struktur
Cel |
Język Visual Basic |
Język C++ |
Język C# |
JĘZYK F# |
---|---|---|---|---|
Struktury decyzji (wybór) |
||||
Struktury decyzji (if...następnie) |
||||
Struktura pętli (warunkowa) |
||||
Struktura pętli (iteracji) |
Tablice
Cel |
Język Visual Basic |
Język C++ |
Język C# |
JĘZYK F# |
---|---|---|---|---|
Zadeklarować tablicę |
int[] x = new int[5]; |
let x = [| 1; 2; 3; 4; 5 |] |
||
Zainicjowania tablicy |
let x = [| 1; 2; 3; 4; 5 |] |
|||
Ponownego przydzielenia tablicy |
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 |
||||
Widoczne tylko w obrębie zestawu, w którym zadeklarowane |
||||
Widoczne tylko w obrębie bieżącego lub pochodne klasy |
Nie dotyczy |
Nie dotyczy |
||
Dostęp jest ograniczony do bieżącego zestawu lub typy pochodzące z klasa zawierająca. |
protected internal |
Nie dotyczy |
||
Widoczne tylko w ramach projektu (dla zagnieżdżonych grup ubezpieczeń, w ramach otaczający klasy) |
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ł |
||||
Dostępne spoza klasy, ale w projekcie lub pakiet |
public private |
|||
Dostępne tylko dla klas bieżącego i pochodne |
Nie dotyczy |
|||
Dostępne tylko w klasie lub moduł |
||||
Określ, że funkcja lub inną klasę ma dostęp do prywatnego członków klasa deklarująca |
Nie dotyczy |
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 |
protected internal |
Nie dotyczy |
Okres istnienia — różne
Cel |
Język Visual Basic |
Język C++ |
Język C# |
JĘZYK F# |
---|---|---|---|---|
Zachowaj zmienne lokalne procedury |
Nie dotyczy |
|||
Współużytkowane przez wszystkich wystąpień klasy |
Różne
Cel |
Język Visual Basic |
Język C++ |
Język C# |
JĘZYK F# |
---|---|---|---|---|
Kod komentarza |
/ /, (* *) dla Komentarze wielowierszowe |
|||
Wielkość liter? |
Nie |
Tak |
Tak |
Tak |
Wywołanie interfejsu API systemu Windows |
Nie dotyczy |
Wywołanie platformy użycia. Zobacz Funkcje zewnętrzne (F#). |
||
Deklaruje i wygenerować zdarzenie |
Nie dotyczy |
|||
Wątków pierwotnych |
Nie dotyczy |
|||
Przejdź do (branch) |
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