Salut<br><br>
En C# c'est super simple de limiter la portée des variables, supposant que j'ai un fichier machin.aspx avec du code C# suivant :<br><br><pre class="brush: csharp;">{
String Val1="aaa";
}
{
String Val1="bbb";
}
</pre><br><br>
Ce code ne génère aucune erreur en C# car ce dernier comprend bien que ces variables se trouves uniquement dans leurs portées et seront automatiquement detruit apres la fin de l'accolade. Mais le problème en VB.Net c'est que cette methode ne marche pas!! Car j'ai besoin d'avoir certains variables avec le meme nom et ne me dites pas svp d'utiliser des noms différents. Si quelqu'un ici connait le C++ alors je cherche s'il est possible d'utiliser un espace de nom sans nom comme par exemple :<br><br><br><pre class="brush: csharp;">namespace
String Val1="aaa";
End namespace
</pre><br><br>
Mais chez moi le compilateur me repond par une erreur.<br><br>
Merci d'avanceLe 21 février 2012 à 2:24:34
Salut
En C# c'est super simple de limiter la portée des variables, supposant que j'ai un fichier machin.aspx avec du code C# suivant :
{
String Val1="aaa";
}
{
String Val1="bbb";
}
Ce code ne génère aucune erreur en C# car ce dernier comprend bien que ces variables se trouves uniquement dans leurs portées et seront automatiquement detruit apres la fin de l'accolade. Mais le problème en VB.Net c'est que cette methode ne marche pas!! Car j'ai besoin d'avoir certains variables avec le meme nom et ne me dites pas svp d'utiliser des noms différents. Si quelqu'un ici connait le C++ alors je cherche s'il est possible d'utiliser un espace de nom sans nom comme par exemple :
namespace
String Val1="aaa";
End namespace
Mais chez moi le compilateur me repond par une erreur.
Salut,<br>
En <strong>Visual Basic</strong>, une variable peut avoir trois portées différentes : <br><ul>
<li>Le niveau procédure, le plus fin, qui permet de limiter l'existence de la variable à la fonction ou procédure en cours ; </li>
<li>le niveau formulaire permet l'accès à la variable à toutes les procédures d'un même formulaire ; </li>
<li>le niveau projet permettant d'accéder au contenu de la variable dans toute l'application.</li>
</ul><br>
exemple : <br><pre class="brush: vbnet;">Dim Nom As String
</pre><br>
placé en début d'une procédure, déclare une chaîne de caractères Nom pour la procédure courante uniquement.<br><br><pre class="brush: vbnet;">Dim Nom As String
</pre><br><br>
placé en début de formulaire, déclare une chaîne de caractères Nom pour toutes les procédures de celui-ci.<br><br><pre class="brush: vbnet;">Public Nom as String
</pre><br><br>
placé dans un module, déclare une chaîne de caractères Nom pour tout le projet.<br><br>
Voilà ! j'espère avoir répondu à ta question.<br>
cordialementLe 21 février 2012 à 7:52:54
Salut,
En Visual Basic, une variable peut avoir trois portées différentes :
Le niveau procédure, le plus fin, qui permet de limiter l'existence de la variable à la fonction ou procédure en cours ;
le niveau formulaire permet l'accès à la variable à toutes les procédures d'un même formulaire ;
le niveau projet permettant d'accéder au contenu de la variable dans toute l'application.
exemple :
Dim Nom As String
placé en début d'une procédure, déclare une chaîne de caractères Nom pour la procédure courante uniquement.
Dim Nom As String
placé en début de formulaire, déclare une chaîne de caractères Nom pour toutes les procédures de celui-ci.
Public Nom as String
placé dans un module, déclare une chaîne de caractères Nom pour tout le projet.
Voilà ! j'espère avoir répondu à ta question.
cordialement
Désolé de revenir sur ce fil mais justement par rapport à la portée des variables en C# :<br>
Est-ce que seules les variables déclarées dans un bloc sont utilisables dans ce blog ? Est-ce possible de déclarer une variable utilisable dans plusieurs blocs ou plusieurs méthodes ? (apparentées à des variables globales en VB). <br>
Certes ne pas forcément conseillé mais bon...<br><br><pre class="brush: csharp;">namespace MonEspace
{
public class MaClass
{
public void Méthode()
{
string Chaine= null;
...
Méthode1();
Chaine=Chaine+maVariable;
...
}
}
static void Méthode1
{
...
maVariable = "titi";
...
}
static void Méthode2
{
...
maVariable = "toto";
...
}
}
</pre><br><br>
Où puis-je déclarer "maVariable" pour qu'elle soit reconnue partout ?<br>
Merci !!Le 20 juin 2012 à 15:41:24
Désolé de revenir sur ce fil mais justement par rapport à la portée des variables en C# :
Est-ce que seules les variables déclarées dans un bloc sont utilisables dans ce blog ? Est-ce possible de déclarer une variable utilisable dans plusieurs blocs ou plusieurs méthodes ? (apparentées à des variables globales en VB).
Certes ne pas forcément conseillé mais bon...
Merci Erendar<br>
mais ça ne fonctionne pas ! "globales" il n'aime pas !<br>
Bon c'est pas grave car de plus je viens de lire ceci sur la doc MSDN :<br><br>
"Globales : En C#, les méthodes et variables globales ne sont pas prises en charge. Les méthodes et variables doivent être contenues dans une <strong>class </strong>ou <strong>struct</strong>."Le 21 juin 2012 à 9:53:12
Merci Erendar
mais ça ne fonctionne pas ! "globales" il n'aime pas !
Bon c'est pas grave car de plus je viens de lire ceci sur la doc MSDN :
"Globales : En C#, les méthodes et variables globales ne sont pas prises en charge. Les méthodes et variables doivent être contenues dans une class ou struct."