Syntaxes VB.Net/C#
| VB.Net | C# | Explications |
|---|---|---|
| Modificateurs d’accès : | ||
| Public | public | L’accès n’est pas limité. |
| Protected | protected | L’accès est restreint à la classe conteneur ou aux types dérivés de la classe conteneur. |
| Friend | internal | L’accès est restreint à l’assembly conteneur. |
| Protected Friend | protected internal | L’accès est restreint à l’assembly conteneur OU aux types dérivés de la classe conteneur. |
| Private | private | L’accès est restreint au type conteneur. |
| Shared | static | Spécifie qu’un membre ou une méthode est commune à toutes les instances d’une classe. Pas besoin d’une instance de classe pour invoquer le membre ou la méthode. |
| Static | [Pas de Correspondance] | Spécifie qu’une variable locale continue d’exister et conserve sa valeur après l’exécution de la méthode dans laquelle elle est déclarée. |
| Héritage et polymorphisme : | ||
| Class MyClass Inherits Object Implements IComponent |
class MyClass : Object, IComponent | La classe MyClass hérite de la classe Object (un seule héritage possible pour une classe) et implémente l’interface IComponent (plusieurs implémentation possible pour une classe). |
| NotInheritable | sealed | Spécifie qu’une classe ne peut être héritée. |
| NotOverridable | sealed | Spécifie qu’une méthode ne peut être surchargée dans une classe héritée. |
| MustInherit | abstract | Spécifie qu’une classe ne peut être instanciée, et doit être héritée. |
| MustOverride | abstract | Spécifie qu’une méthode doit être réimplémentée si la classe est héritée. |
| Overloads | [Non Requis] | Spécifie qu’une méthode surcharge une autre méthode de la même classe. |
| Overrides | override | Spécifie qu’un membre ou une méthode surcharge le membre ou la méthode correspondante dans la classe de base. |
| Me | this | Référence à l’objet courant. |
| MyBase | base | Référence à la classe de base. |
| Déclarations (méthodes, propriétés, variables, etc…) : | ||
| Sub New() | MyClass() | Déclaration du constructeur de la classe MyClass. |
| Sub Finalize() | ~MyClass() | Déclaration du destructeur de la classe MyClass. |
| Function MyFunc(ByVal i As Int16) As Int32 End Function |
Int32 MyFunc(Int16 i) { } |
Déclaration d’une fonction MyFunc prenant un Int16 en paramètre et renvoyant un Int32. |
| Sub MyProc(ByRef i As Integer) End Sub |
void MyProc(ref int i) { } |
Déclaration d’une procédure MyProc prenant un entier en paramètre. |
| ByVal ByRef |
[Non Requis] ref |
Passe un paramètre par valeur. Passe un paramètre par référence. |
| Property MyProp() As String Get Return Me._myProp End Get Set(value As String) Me._myProp = value End Set End Property |
String MyProp { get { return this._myProp; } set { this._myProp = value; } } |
Déclaration d’une propriété MyProp de type String, en lecture-écriture. |
| ReadOnly Property MyProp() As String Get Return Me._myProp End Get End Property |
String MyProp { get { return this._myProp; } } |
Déclaration d’une propriété MyProp de type String, en lecture seule. |
| WriteOnly Property MyProp() As String Set(value As String) Me._myProp = value End Set End Property |
String MyProp { set { this._myProp = value; } } |
Déclaration d’une propriété MyProp de type String, en écriture seulement. |
| Dim i As Integer = 0 | int i = 0; | Déclaration d’une variable i de type Integer, initialisée à 0. |
| Dim arr(5) As String = 6 items (de 0 à 5) |
String[] arr = new String[5]; = 5 items (de 0 à 4) |
Déclaration et initialisation d’un tableau de chaînes. |
| Structure MyStruct End Structure |
struct MyStruct { } |
Déclaration de structure. |
| Enum Semaine Lundi = 0 Mardi Mercredi End Enum |
enum Semaine { Lundi = 0, Mardi, Mercredi } |
Déclaration d’une énumération. |
| Const | const readonly |
Déclaration d’une constante. |
| Opérateurs : | ||
| = < <= > >= <> | == < <= > >= != | Opérateurs de comparaison. |
| + - * / Mod \ ^ |
+ - * / % / Math.Pow(x, y) |
Opérateurs arithmétiques. Modulo (reste de la division entière). Division d’entiers. Puissance / Exposant. |
| = += -= *= /= \= ^= <<= >>= &= | = += -= *= /= %= ++ – &= |= ^= <<= >>= |
Opérateurs d’assignation. |
| And Or Xor Not << >> | & | ^ ~ << >> | Opérateurs de bits. |
| AndAlso OrElse And Or Xor Not | && || & | ^ ! | Opérateurs logiques. |
| & | + | Concaténation de chaînes. |
| Conversions, Cast, Types… : | ||
| CType(Var, Type) | (Type)Var | Conversion d’une Variable (type valeur) dans un autre Type. Génère une exception en cas d’erreur. |
| CType(Objet, Type) | (Type)Objet | Conversion d’un Objet (type référence) dans un autre Type. Génère une exception en cas d’erreur. |
| DirectCast(Var, Type) | (Type)Var | Conversion d’une variable (type valeur) dans un autre Type. Les deux types concernés doivent avoir une relation d’héritage. Génère une exception en cas d’erreur. |
| DirectCast(Objet, Type) | (Type)Objet | Conversion d’un Objet (type référence) dans un autre Type. Les deux types concernés doivent avoir une relation d’héritage ou d’implémentation. Génère une exception en cas d’erreur. |
| TryCast(Objet, Type) | Objet as Type | Conversion d’un Objet (type référence) dans un autre Type. Les deux types concernés doivent avoir une relation d’héritage ou d’implémentation. Renvoie une valeur nulle en cas d’erreur. |
| Dim var As Nullable(Of DateTime) = Nothing | DateTime? var = null; | Permet d’affecter une valeur nulle à une variable de type valeur. |