Je n'essaie pas de lancer une polémique ici, mais pour une raison quelconque, on dit généralement que Visual Basic est insensible à la casse et que les langages C ne le sont pas (et que c'est en quelque sorte une bonne chose).
Mais voici ma question : Où exactement Visual Basic est-il insensible à la casse ? Quand je tape...
Dim ss As String
Dim SS As String
...dans le Visual Studio 2008 o Visual Studio 2010 IDE, le second a un avertissement de " Variable locale SS
est déjà déclaré dans le bloc actuel ". Dans le VBE VBA, il n'y a pas d'erreur immédiate, mais plutôt une correction automatique de la situation.
Est-ce que je rate quelque chose ici avec cet argument que Visual Basic n'est pas sensible à la casse ? (Par ailleurs, si vous le savez ou si vous souhaitez répondre, pourquoi serait-ce une mauvaise chose ?)
Pourquoi est-ce que je pose cette question ?
J'ai utilisé Visual Basic sous plusieurs de ses formes dialectes depuis des années, parfois comme hobbyiste, parfois pour de petites programmes liés à l'entreprise dans un groupe de travail. Au cours des six derniers mois, j'ai travaillé sur un grand projet, beaucoup plus grand que ce que j'avais prévu. Une grande partie de l'échantillon de code source là-bas est en C#. Je n'ai pas de désir ardent d'apprendre le C#, mais s'il y a des choses qui me manquent des choses que je manque et que C# que Visual Basic n'offre pas (à l'inverse, VB.NET offrirait serait que VB.NET offre Littéraux XML ), alors j'aimerais en savoir sur cette fonctionnalité. Ainsi, dans ce Dans ce cas, on dit souvent que les langages C sont sensibles à la casse et c'est bien et que Visual Basic est insensible à la insensible à la casse et que c'est mauvais. J'aimerais voudrais savoir...
- Comment exactement le Visual Basic insensible à la casse puisque chaque chaque exemple dans l'éditeur de code devient sensible à la casse (ce qui signifie la casse est corrigée) que je le veuille ou non que je le veuille ou non.
- Est-ce assez convaincant pour que je envisager de passer à C# si le cas VB.NET limite en quelque sorte ce que je pourrais faire avec le code ?
5 votes
+1 Je me suis déjà demandé exactement la même chose.
10 votes
Ummm... je ne suis pas sûr que vous compreniez ce que cette affaire... sur moyens sensibles. Comme VB est en fait insensible à la casse, SS et ss sont le même nom, alors qu'en C ils ne le seraient pas.
1 votes
@ed : Je ne peux pas utiliser les deux
SS
yss
en VB, celui que j'utilise en premier est celui que l'éditeur utilise.1 votes
Otaku, je vous recommande vivement de garder cette question centrée sur ce que signifie exactement le fait de dire que VB est insensible à la casse et comment cela est implémenté. La question de savoir s'il est préférable pour un langage d'être insensible à la casse peut, malheureusement, déclencher une guerre de mots. Si vous êtes vraiment curieux, posez la question dans une autre question. (Je vous conseille de ne pas le faire, mais si vous devez le faire, marquez le sujet comme subjectif et faites-en un wiki communautaire).
0 votes
@MarkJ - Oui, je comprends. La question de savoir s'il s'agit d'un cas sensible ou non a reçu une réponse catégorique, et c'est ce que je cherchais vraiment. En ce qui concerne la question de savoir pourquoi la sensibilité ou l'insensibilité est meilleure ou pire, j'essayais de voir s'il existait un "meilleur" technique exact, comme par exemple les puces x386 sont plus rapides que les puces x286 mais il semble qu'il n'y ait pas de raison technique (qui a été fournie), donc je ne pense pas que l'on puisse répondre à la deuxième question.
19 votes
Vous êtes (ou étiez) en train de penser à ça à l'envers. C'est précisément porque le compilateur n'est pas sensible à la casse et l'erreur se lit "variable SS déjà déclarée". S'il était sensible à la casse, vous obtiendriez soit un 'ss variable not used', soit aucune erreur et un bug si vous utilisez alternativement l'un et l'autre.
0 votes
Remarque intéressante Andriano, je n'y avais pas pensé de cette façon.
1 votes
Je pense que ce que vous n'avez pas réalisé, c'est que VB n'est pas sensible à la casse. C'est différent de beaucoup d'autres langages populaires (comme C++, C#, Java, etc) - donc ss est la même chose que SS pour le compilateur.
0 votes
@incrediman : ouais, on dirait que c'est l'IDE qui fait en sorte qu'il n'y ait qu'un seul cas et que le compilateur s'en fiche.