154 votes

VB.NET équivalent au mot clé var c#

Y at-il un VB.NET équivalent à c# `` mot-clé ?

Je voudrais l’utiliser pour récupérer le résultat d’une requête LINQ.

153voto

Adam Robinson Points 88472

En omettant le type de VB.NET (VB9) implicitement le type de la variable.

Ce n'est pas la même chose que l'option strict off" dans les versions précédentes de VB.NET comme la variable est fortement typé, c'est juste fait implicitement (comme le C# var) mot-clé.

Dim foo = "foo"

foo est déclaré en tant que String.

Option Infer doit être sur pour que cela fonctionne correctement

45voto

Mark Hurd Points 4746

Vous avez besoin d' Option Infer On puis il suffit d'utiliser l' Dim mot-clé, donc:

Dim query = From x In y Where x.z = w Select x

Contrairement à certaines autres réponses, vous n'avez pas besoin d' Option Strict On.

Si vous êtes à l'aide de la VS IDE, vous pouvez simplement passez la souris sur les noms de variable, mais à la compilation types de variables (GetType(variableName) n'est pas de la compilation "Type" <variablename> " n'est pas défini." - et VarType(variable) est en fait juste la version de visual basic d' variable.GetType() qui retourne le type de l'instance stockée dans la variable au moment de l'exécution), j'ai utilisé:

Function MyVarType(Of T)(ByRef Var As T) As Type
    Return GetType(T)
End Function

Dans le détail:

  • sans Dim:

    Explicit Off, donne Object

    Explicit On, l'erreur "Nom" n'est pas déclaré."

  • avec Dim:

    • Infer On, donne prévu types
    • Infer Off:

      Strict On, l'erreur "Option Strict on exige que toutes les déclarations pour avoir "Comme" clasue."

      Strict Off, donne Object

18voto

Konrad Rudolph Points 231505

Il suffit d’utiliser les classiques `` mot-clé sans un type.

Exemple de travail minimal :

-1voto

Beto Points 9

Objet a fonctionné pour moi dans cet exemple

C#

VB

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X